vento / barcode
条码生成器,如二维码、PDF417、C39、C39+、C39E、C39E+、C93、S25、S25+、I25、I25+、C128、C128A、C128B、C128C、基于UPC的2位扩展、基于UPC的5位扩展、EAN 8、EAN 13、UPC-A、UPC-E、MSI(Plessey码的变体)
Requires
- php: ^7.2|^7.3|^8.0|^8.1
- ext-gd: *
- illuminate/support: ^6.0|^7.0|^8.0|^9.0
- dev-master
- 9.0.0
- 8.0.1
- 8.0.0
- 7.0.1
- 7.0.0
- 6.0.5
- 6.0.4
- 6.0.3
- 6.0.2
- 6.0.1
- 6.0.0
- 5.3.6
- 5.3.5
- 5.3.3
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.1
- 5.2.0
- 5.1.1
- 5.1.0
- 4.2.4
- 4.2.3
- 4.2.2
- 4.2.1
- 4.2
- 2.0.0
- 1.0.2
- 1.0.1
- 1.0.0
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5
- dev-dependabot/composer/illuminate/support-10.2.0
- dev-feature/use-tc-lib-barcode
- dev-version-6
- dev-version-5.1
- dev-version-4.2
This package is auto-updated.
Last update: 2024-09-06 21:08:42 UTC
README
这是一个受https://github.com/tecnickcom/TCPDF启发的条码生成包。实际上,我使用该包的底层类来生成条码。此包只是该包的包装,并增加了对Laravel 6 - 9的兼容性。
我使用了该包的以下类。
- src/vento/Barcode/Datamatrix.php (include/barcodes/datamatrix.php)
- src/vento/Barcode/DNS1D.php (tcpdf_barcodes_1d.php)
- src/vento/Barcode/DNS2D.php (tcpdf_barcodes_2d.php)
- src/vento/Barcode/PDF417.php (include/barcodes/pdf417.php)
- src/vento/Barcode/QRcode.php (include/barcodes/qrcode.php)
此包与Laravel 6.*
、7.*
、8.*
、9.*
兼容
此包依赖于php-gd扩展。因此,请确保它在您的机器上已安装。
安装
首先,通过Composer安装此包。只需在终端中运行以下命令即可-
composer require vento/barcode
您还可以编辑项目的composer.json
文件,以要求milon/barcode
。
"require": { "vento/barcode": "^8.0" }
对于Laravel 7.*使用此
"require": { "vento/barcode": "^7.0" }
对于Laravel 6.*使用此
"require": { "vento/barcode": "^6.0" }
接下来,从终端更新Composer
composer update
一旦此操作完成,下一步是添加服务提供者。打开config/app.php
,并将新项添加到提供者数组中。
'providers' => [ // ... vento\Barcode\BarcodeServiceProvider::class, ]
对于版本4.*,在app/config/app.php
文件上添加以下行-
'providers' => array( // ... 'Vento\Barcode\BarcodeServiceProvider', )
如果您想更改条码的设置(存储路径等),则需要发布其配置文件。为此,您需要在终端中运行-
# Laravel 5.x php artisan vendor:publish # Laravel 4.x php artisan config:publish milon/barcode
确保您有权写入存储路径。默认情况下,它设置为/storage
文件夹。
现在添加别名。
'aliases' => [ // ... 'DNS1D' => Milon\Barcode\Facades\DNS1DFacade::class, 'DNS2D' => Milon\Barcode\Facades\DNS2DFacade::class, ]
对于版本4.2,别名将如下所示-
'aliases' => array( // ... 'DNS1D' => 'Milon\Barcode\Facades\DNS1DFacade', 'DNS2D' => 'Milon\Barcode\Facades\DNS2DFacade', )
条码生成器如二维码、PDF417、C39、C39+、C39E、C39E+、C93、S25、S25+、I25、I25+、C128、C128A、C128B、C128C、基于UPC的2位扩展、基于UPC的5位扩展、EAN 8、EAN 13、UPC-A、UPC-E、MSI(Plessey码的变体)
在html、png嵌入的base64代码和SVG画布中生成
echo DNS1D::getBarcodeSVG('4445645656', 'PHARMA2T'); echo DNS1D::getBarcodeHTML('4445645656', 'PHARMA2T'); echo '<img src="data:image/png,' . DNS1D::getBarcodePNG('4', 'C39+') . '" alt="barcode" />'; echo DNS1D::getBarcodePNGPath('4445645656', 'PHARMA2T'); echo '<img src="data:image/png;base64,' . DNS1D::getBarcodePNG('4', 'C39+') . '" alt="barcode" />';
echo DNS1D::getBarcodeSVG('4445645656', 'C39'); echo DNS2D::getBarcodeHTML('4445645656', 'QRCODE'); echo DNS2D::getBarcodePNGPath('4445645656', 'PDF417'); echo DNS2D::getBarcodeSVG('4445645656', 'DATAMATRIX'); echo '<img src="data:image/png;base64,' . DNS2D::getBarcodePNG('4', 'PDF417') . '" alt="barcode" />';
宽度和高度示例
echo DNS1D::getBarcodeSVG('4445645656', 'PHARMA2T',3,33); echo DNS1D::getBarcodeHTML('4445645656', 'PHARMA2T',3,33); echo '<img src="' . DNS1D::getBarcodePNG('4', 'C39+',3,33) . '" alt="barcode" />'; echo DNS1D::getBarcodePNGPath('4445645656', 'PHARMA2T',3,33); echo '<img src="data:image/png;base64,' . DNS1D::getBarcodePNG('4', 'C39+',3,33) . '" alt="barcode" />';
颜色
echo DNS1D::getBarcodeSVG('4445645656', 'PHARMA2T',3,33,'green'); echo DNS1D::getBarcodeHTML('4445645656', 'PHARMA2T',3,33,'green'); echo '<img src="' . DNS1D::getBarcodePNG('4', 'C39+',3,33,array(1,1,1)) . '" alt="barcode" />'; echo DNS1D::getBarcodePNGPath('4445645656', 'PHARMA2T',3,33,array(255,255,0)); echo '<img src="data:image/png;base64,' . DNS1D::getBarcodePNG('4', 'C39+',3,33,array(1,1,1)) . '" alt="barcode" />';
显示文本
echo DNS1D::getBarcodeSVG('4445645656', 'PHARMA2T',3,33,'green', true); echo DNS1D::getBarcodeHTML('4445645656', 'PHARMA2T',3,33,'green', true); echo '<img src="' . DNS1D::getBarcodePNG('4', 'C39+',3,33,array(1,1,1), true) . '" alt="barcode" />'; echo DNS1D::getBarcodePNGPath('4445645656', 'PHARMA2T',3,33,array(255,255,0), true); echo '<img src="data:image/png;base64,' . DNS1D::getBarcodePNG('4', 'C39+',3,33,array(1,1,1), true) . '" alt="barcode" />';
二维条码
echo DNS2D::getBarcodeHTML('4445645656', 'QRCODE'); echo DNS2D::getBarcodePNGPath('4445645656', 'PDF417'); echo DNS2D::getBarcodeSVG('4445645656', 'DATAMATRIX');
一维条码
echo DNS1D::getBarcodeHTML('4445645656', 'C39'); echo DNS1D::getBarcodeHTML('4445645656', 'C39+'); echo DNS1D::getBarcodeHTML('4445645656', 'C39E'); echo DNS1D::getBarcodeHTML('4445645656', 'C39E+'); echo DNS1D::getBarcodeHTML('4445645656', 'C93'); echo DNS1D::getBarcodeHTML('4445645656', 'S25'); echo DNS1D::getBarcodeHTML('4445645656', 'S25+'); echo DNS1D::getBarcodeHTML('4445645656', 'I25'); echo DNS1D::getBarcodeHTML('4445645656', 'I25+'); echo DNS1D::getBarcodeHTML('4445645656', 'C128'); echo DNS1D::getBarcodeHTML('4445645656', 'C128A'); echo DNS1D::getBarcodeHTML('4445645656', 'C128B'); echo DNS1D::getBarcodeHTML('4445645656', 'C128C'); echo DNS1D::getBarcodeHTML('44455656', 'EAN2'); echo DNS1D::getBarcodeHTML('4445656', 'EAN5'); echo DNS1D::getBarcodeHTML('4445', 'EAN8'); echo DNS1D::getBarcodeHTML('4445', 'EAN13'); echo DNS1D::getBarcodeHTML('4445645656', 'UPCA'); echo DNS1D::getBarcodeHTML('4445645656', 'UPCE'); echo DNS1D::getBarcodeHTML('4445645656', 'MSI'); echo DNS1D::getBarcodeHTML('4445645656', 'MSI+'); echo DNS1D::getBarcodeHTML('4445645656', 'POSTNET'); echo DNS1D::getBarcodeHTML('4445645656', 'PLANET'); echo DNS1D::getBarcodeHTML('4445645656', 'RMS4CC'); echo DNS1D::getBarcodeHTML('4445645656', 'KIX'); echo DNS1D::getBarcodeHTML('4445645656', 'IMB'); echo DNS1D::getBarcodeHTML('4445645656', 'CODABAR'); echo DNS1D::getBarcodeHTML('4445645656', 'CODE11'); echo DNS1D::getBarcodeHTML('4445645656', 'PHARMA'); echo DNS1D::getBarcodeHTML('4445645656', 'PHARMA2T');
在没有Laravel的情况下运行
您可以在不使用Laravel的情况下使用此库。
示例
use \Vento\Barcode\DNS1D; $d = new DNS1D(); $d->setStorPath(__DIR__.'/cache/'); echo $d->getBarcodeHTML('9780691147727', 'EAN13');
许可证
此包在GNU LGPLv3
许可证下发布,版权属于Nuruzzaman Milon。原始条码生成类由Nicola Asuni编写。许可协议在项目根目录中。
许可证:GNU LGPLv3
包作者:Nuruzzaman Milon
原始条码类作者:Nicola Asuni
包版权:Nuruzzaman Milon
条码生成类版权
Nicola Asuni
Tecnick.com LTD
www.tecnick.com