Skip to content
This repository has been archived by the owner on Apr 11, 2023. It is now read-only.

ihabunek/pdf417-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDF 417 barcode generator

Latest Version Total Downloads License Author

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:

About

A library for encoding and generating PDF417 2D barcodes

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages