bigfish / pdf417
A library for generating PDF417 barcodes in PHP
Installs: 285 260
Dependents: 0
Suggesters: 0
Security: 0
Stars: 90
Watchers: 8
Forks: 28
Open Issues: 0
Requires
- php: >=5.4
- ext-bcmath: *
- ext-gd: *
- intervention/image: ~2.0
Requires (Dev)
- mockery/mockery: @stable
- phpunit/phpunit: ^4|^5
This package is not auto-updated.
Last update: 2023-04-21 04:31:49 UTC
README
This project is no longer maintained
I have moved on from PHP and this project will no longer be updated. If you wish to continue the legacy, please fork the project.
For a maintaned Python implementation check out ihabunek/pdf417-py.
-- Ivan
Requirements
Requires the following components:
- PHP >= 5.4
- PHP extensions: bcmath, fileinfo, gd
Installation
Add it to your composer.json
file:
composer require bigfish/pdf417
Usage overview
require 'vendor/autoload.php'; use BigFish\PDF417\PDF417; use BigFish\PDF417\Renderers\ImageRenderer; use BigFish\PDF417\Renderers\SvgRenderer; // Text to be encoded into the barcode $text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur imperdiet sit amet magna faucibus aliquet. Aenean in velit in mauris imperdiet scelerisque. Maecenas a auctor erat.'; // Encode the data, returns a BarcodeData object $pdf417 = new PDF417(); $data = $pdf417->encode($text); // Create a PNG image $renderer = new ImageRenderer([ 'format' => 'png' ]); $image = $renderer->render($data); // Create an SVG representation $renderer = new SvgRenderer([ 'color' => 'black', ]); $svg = $renderer->render($data);
ImageRenderer
Renders the barcode to an image using Intervention Image
Render function returns an instance of Intervention\Image\Image
.
Options
Option | Default | Description |
---|---|---|
format | png | Output format, one of: jpg , png , gif , tif , bmp , data-url |
quality | 90 | Jpeg encode quality (1-10) |
scale | 3 | Scale of barcode elements (1-20) |
ratio | 3 | Height to width ration of barcode elements (1-10) |
padding | 20 | Padding in pixels (0-50) |
color | #000000 | Foreground color as a hex code |
bgColor | #ffffff | Background color as a hex code |
Examples
$pdf417 = new PDF417(); $data = $pdf417->encode("My hovercraft is full of eels"); // Create a PNG image, red on green background, extra big $renderer = new ImageRenderer([ 'format' => 'png', 'color' => '#FF0000', 'bgColor' => '#00FF00', 'scale' => 10, ]); $image = $renderer->render($data); $image->save('hovercraft.png');
The data-url
format is not like the others, it returns a base64 encoded PNG
image which can be used in an image src
or in CSS. When you create an image
using this format:
$pdf417 = new PDF417(); $data = $pdf417->encode('My nipples explode with delight'); $renderer = new ImageRenderer([ 'format' => 'data-url' ]); $img = $renderer->render($data);
You can use it directly in your HTML or CSS code:
<img src="<?= $img->encoded ?>" />
And this will be rendered as:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA.... " />
Thanks
Without these pages, implementation of this project would have been much harder: