brewerwall / php-barcode-generator
PHP中一个易于使用、无冗余的条码生成器。可从最常见的1D条码标准生成SVG、PNG、JPG和HTML图像。
1.0.0
2019-09-20 20:28 UTC
Requires
- php: >=7.1.0
Requires (Dev)
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-09-04 12:26:36 UTC
README
这是一个易于使用、无冗余、框架独立的PHP条码生成器。此版本已更新以遵循PSR-4并支持PHP 7.1+。
它可以从最常见的1D条码标准生成SVG、PNG、JPG和HTML图像。
代码库大部分来自Nicola Asuni的TCPDF条码生成器TCPDF barcode generator。因此,代码在LGPLv3下授权。它仍然有些混乱,但我将来会整理它。我不期望在清理过程中这个类的接口会有所改变。
这个代码库,也是基于TCPDF barcode generator扩展的,大部分是从Picqer barcode generator直接复制的。更新为符合php 7.1+。
安装
通过composer安装
composer require brewerwall/php-barcode-generator
如果您想生成PNG或JPG图像,您还需要在您的系统上安装GD库或Imagick。
使用IMB条码需要安装bcmath
扩展。
用法
创建一个新的条码生成器。这将声明代码、条码类型以及代码将渲染的格式。
$generator = new BarcodeGenerator(BarcodeType::TYPE_CODE_128, BarcodeRender::RENDER_JPG); // Generate our code $generated = $generator->generate('012345678'); // Generates the same code with style updates $generated = $generator->generate('012345678', 4, 50, '#FFCC33');
$generator->generate()
方法接受以下参数
$code
需要生成的条码值。$widthFactor
(默认: 2) 宽度基于数据的长度,使用此因子可以使条码条比默认更宽$totalHeight
(默认: 30) 条码的总高度$color
(默认: #000000) 前景颜色的十六进制代码
图像类型
use Brewerwall\Barcode\Constants\BarcodeRender; BarcodeRender::RENDER_JPG BarcodeRender::RENDER_PNG BarcodeRender::RENDER_HTML BarcodeRender::RENDER_SVG
接受的类型
use Brewerwall\Barcode\Constants\BarcodeType; BarcodeType::TYPE_CODE_39 BarcodeType::TYPE_CODE_39_CHECKSUM BarcodeType::TYPE_CODE_39E BarcodeType::TYPE_CODE_39E_CHECKSUM BarcodeType::TYPE_CODE_93 BarcodeType::TYPE_STANDARD_2_5 BarcodeType::TYPE_STANDARD_2_5_CHECKSUM BarcodeType::TYPE_INTERLEAVED_2_5 BarcodeType::TYPE_INTERLEAVED_2_5_CHECKSUM BarcodeType::TYPE_CODE_128 BarcodeType::TYPE_CODE_128_A BarcodeType::TYPE_CODE_128_B BarcodeType::TYPE_CODE_128_C BarcodeType::TYPE_EAN_2 BarcodeType::TYPE_EAN_5 BarcodeType::TYPE_EAN_8 BarcodeType::TYPE_EAN_13 BarcodeType::TYPE_UPC_A BarcodeType::TYPE_UPC_E BarcodeType::TYPE_MSI BarcodeType::TYPE_MSI_CHECKSUM BarcodeType::TYPE_POSTNET BarcodeType::TYPE_PLANET BarcodeType::TYPE_RMS4CC BarcodeType::TYPE_KIX BarcodeType::TYPE_IMB BarcodeType::TYPE_CODABAR BarcodeType::TYPE_CODE_11 BarcodeType::TYPE_PHARMA_CODE BarcodeType::TYPE_PHARMA_CODE_TWO_TRACKS
示例
嵌入HTML中的PNG图像
$generator = new BarcodeGenerator(BarcodeType::TYPE_CODE_128, BarcodeRender::RENDER_PNG); echo '<img src="data:image/png;base64,' . base64_encode($generator->generate('012345678')) . '">';