bigfish/pdf417

此包已废弃,不再维护。未建议替代包。

一个用于在PHP中生成PDF417条码的库

0.3.0 2017-07-29 10:56 UTC

This package is not auto-updated.

Last update: 2023-04-21 04:31:49 UTC


README

Latest Version Total Downloads License Author

此项目已不再维护

我已经从PHP转向其他领域,此项目将不再更新。如果您想继续这个项目的传统,请分叉该项目。

对于维护的Python实现,请查看ihabunek/pdf417-py

-- Ivan

要求

需要以下组件

  • PHP >= 5.4
  • PHP扩展:bcmath, fileinfo, gd

安装

将其添加到您的composer.json文件中

composer require bigfish/pdf417

使用概述

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

使用Intervention Image将条码渲染为图像

渲染函数返回一个Intervention\Image\Image实例。

选项

选项 默认值 描述
format png 输出格式,以下之一:jpgpnggiftifbmpdata-url
quality 90 Jpeg编码质量(1-10)
scale 3 条码元素的缩放比例(1-20)
ratio 3 条码元素的高度与宽度比(1-10)
padding 20 像素内的填充(0-50)
color #000000 前景色作为十六进制代码
bgColor #ffffff 背景色作为十六进制代码

示例

$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');

data-url格式与其他不同,它返回一个base64编码的PNG图像,可用于图像src或CSS。当您使用此格式创建图像时

$pdf417 = new PDF417();
$data = $pdf417->encode('My nipples explode with delight');

$renderer = new ImageRenderer([
    'format' => 'data-url'
]);
$img = $renderer->render($data);

您可以直接在HTML或CSS代码中使用它

<img src="<?= $img->encoded ?>" />

这将渲染为

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA.... " />

感谢

没有这些页面,此项目的实现将会更加困难