yangyao / php-barcode
PHP 中一个易于使用、不臃肿的条形码生成器。可从最常见的 1D 条形码标准生成 SVG、PNG、JPG 和 HTML 图像。
dev-master
2019-04-03 06:19 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: ^5.3
This package is auto-updated.
Last update: 2024-09-17 16:09:41 UTC
README
此仓库是从 https://github.com/picqer/php-barcode-generator 分叉而来,唯一的区别是增加了标签,并将及时与原始仓库保持同步。
这是一个易于使用、不臃肿、独立于框架的 PHP 条形码生成器。
它从最常见的 1D 条形码标准生成 SVG、PNG、JPG 和 HTML 图像。
代码库主要来自 Nicola Asuni 的 TCPDF 条形码生成器。因此,此代码在 LGPLv3 许可下提供。它仍然有点混乱,但我会在将来对其进行清理。我不期望在清理过程中修改该类的接口。
安装
通过 composer 安装
composer require yangyao/php-barcode
如果您想生成 PNG 或 JPG 图像,您还需要在您的系统上安装 GD 库或 Imagick。
用法
初始化您想要的输出格式的条形码生成器,然后根据需要多次调用 ->getBarcode() 程序。
$generator = new Picqer\Barcode\BarcodeGeneratorHTML(); echo $generator->getBarcode('081231723897', $generator::TYPE_CODE_1282,80,[0,0,0],new \Picqer\Barcode\BarcodeLabel('081231723897'));
->getBarcode() 程序接受以下内容:
- $code 条形码数据
- $type 条形码类型,使用类中定义的常量
- $widthFactor 宽度基于数据的长度,使用此因子可以使条形码条比默认值更宽
- $totalHeight 条形码的总高度
- $color 前景颜色的十六进制代码
- $label 条形码标签实例
条形码标签接受以下内容:
- $text 标签文本
- $textAlign 标签文本的对齐方式
- $fontSize 标签文本的字体大小
- $color 标签文本的颜色
- $marginTop 标签文本的像素顶部边距
- $marginBottom 标签文本的像素底部边距
- $marginLeft 标签文本的像素左边距
- $marginRight 标签文本的像素右边距
图像类型
$generatorSVG = new Picqer\Barcode\BarcodeGeneratorSVG(); $generatorPNG = new Picqer\Barcode\BarcodeGeneratorPNG(); $generatorJPG = new Picqer\Barcode\BarcodeGeneratorJPG(); $generatorHTML = new Picqer\Barcode\BarcodeGeneratorHTML();
接受的类型
- TYPE_CODE_39
- TYPE_CODE_39_CHECKSUM
- TYPE_CODE_39E
- TYPE_CODE_39E_CHECKSUM
- TYPE_CODE_93
- TYPE_STANDARD_2_5
- TYPE_STANDARD_2_5_CHECKSUM
- TYPE_INTERLEAVED_2_5
- TYPE_INTERLEAVED_2_5_CHECKSUM
- TYPE_CODE_128
- TYPE_CODE_128_A
- TYPE_CODE_128_B
- TYPE_CODE_128_C
- TYPE_EAN_2
- TYPE_EAN_5
- TYPE_EAN_8
- TYPE_EAN_13
- TYPE_UPC_A
- TYPE_UPC_E
- TYPE_MSI
- TYPE_MSI_CHECKSUM
- TYPE_POSTNET
- TYPE_PLANET
- TYPE_RMS4CC
- TYPE_KIX
- TYPE_IMB
- TYPE_CODABAR
- TYPE_CODE_11
- TYPE_PHARMA_CODE
- TYPE_PHARMA_CODE_TWO_TRACKS
示例
HTML 中的嵌入 PNG 图像
$generator = new \Picqer\Barcode\BarcodeGeneratorPNG(); echo '<img src="data:image/png;base64,' . base64_encode($generator->getBarcode('081231723897', $generator::TYPE_CODE_128,2,80,'black',new \Picqer\Barcode\BarcodeLabel('081231723897'))) . '">';