Git Product home page Git Product logo

barcodegen's Introduction

Barcode Generator

Author

Barcode Generator is a simple library that helps you create barcodes images. It's designed for Laravel 5 and it can create PNG images or DATA-URL strings. Based on great php-generator by David Tufts

Installation

Through Composer, obviously:

composer require picoprime/barcodegen

or you can edit composer.json file and add "picoprime/barcodegen": "~1.5" to your "require" section.

Setup

Successfully tested in Laravel 5. Steps to make it work:

  • edit "require" section in composer.json as described above
  • Ignore this step on Laravel 5.5 or newer - package will be auto discovered edit config/app.php file and add PicoPrime\BarcodeGen\BarcodeGenServiceProvider::class, to providers
  • create controller or add new methods to existing controllers (example is in "docs" folder). You can use PicoPrime\BarcodeGen\BarcodeGenerator class directly or PicoPrime\BarcodeGen\BarcodeGen facade. BarcodeGenerator can be injected as well. Before you call generate() method you have to pass variables to init() like so:
$this->barcode
    ->init($text, $size, $orientation, $codeType, $scale)
    ->generate()

or with facade and direct generate call:

\PicoPrime\BarcodeGen\BarcodeGen::generate($text, $size, $orientation, $codeType, $scale)

where:

  • "text" is the text that you want to transform into barcode,
  • "size" is barcode's height in pixels. If you need to change width as well then use "scale" together with "size"!
  • "orientation" does what it says - changes barcode's orientation. Available: horizontal and vertical,
  • "codeType" is the type of code that you want to generate. Available: code128, code128a, code39, code25, codabar.
  • "scale" - if you need wider or just bigger barcode enter a number: 1 - default, 2 - 2x bigger, 2.5, ...

You can also pass these parameters as assoc or numeric array, like so:

$this->barcode
    ->generate(compact('text', 'size', 'orientation', 'codeType', 'scale'))

or using facade:

\PicoPrime\BarcodeGen\BarcodeGen::generate(['textToTransform', 50, 'horizontal', 'code128', 1])

Last step to generate image is to send whatever has been generated above to ->response('png') or ->encode('data-url'). Response will create Laravel's response and will display an image, whilst "encode" will create a string.

Please take a look at example controller in docs folder.

Routes

You can create routes as you like. Two examples that we usually use:

Route::get('barcode/img/{text}/{size?}/{scale?}/{codeType?}/{orientation?}', 'BarcodeController@barcodeAsPng');
Route::get('barcode/url/{text}/{size?}/{scale?}/{codeType?}/{orientation?}', 'BarcodeController@barcodeAsDataUrl');

Please take a look at example route in docs folder.

Frontend use

Finally to use it in frontend, just use your route in img "src" attribute:

<img src="/barcode/img/someText" alt="barcode">

This example should generate horizontal, 50px, code128 barcode for "someText".

Issues

Please feel free to create an issue on GitHub if you come across any errors or if you have an idea for improvement.

Enjoy

Oh and if you've come down this far, you might as well follow me on twitter or check out my company's website.

barcodegen's People

Contributors

ryanw3b3r avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.