形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息,因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到广泛的应用。
下面采用composer第三方组件,php实现生成code128条形码的方法详解。当然如果只是想简单的生成一个商品条形码,直接使用在线条形码生成器输入相应编码生成图片保存即可。
一、Composer安装插件
在php中我们可以使用php-barcode-generator插件来生成条形码,php-barcode-generator插件github地址:https://github.com/picqer/php-barcode-generator
composer require picqer/php-barcode-generator
二、php-barcode-generator插件引用并实例化使用
1:实例化
$generator = new \Picqer\Barcode\BarcodeGeneratorHTML();
echo $generator->getBarcode('123456', $generator::TYPE_CODE_128);
根据如上就可以实现条形码的生成:
2:根据条形码生成类型,我们可以使用如下四种方式生成条形码
$generatorSVG = new \Picqer\Barcode\BarcodeGeneratorSVG(); #创建SVG类型条形码
$generatorPNG = new \Picqer\Barcode\BarcodeGeneratorPNG(); #创建PNG类型条形码
$generatorJPG = new \Picqer\Barcode\BarcodeGeneratorJPG(); #创建JPG类型条形码
$generatorHTML = new \Picqer\Barcode\BarcodeGeneratorHTML(); #创建HTML类型条形码
如果要生成PNG或JPG图像,则还需要在系统上安装GD库或Imagick拓展,Imagick拓展安装方式可参考: PHP的Imagick拓展安装
3:getBarcode方法参数说明:
getBarcode($code, $type, $widthFactor = 2, $totalHeight = 30, $color = 'black')
code:条形码数据
type:条形码的类型,使用在类中定义的常量,具体参数可参考github
widthFactor:条形码的宽度
totalHeight:条形码高度
color:条形码的颜色
4:如果你想要将条形码嵌入到html中
将生成的条形码进行base64编码嵌入到img标签中
$generator = new \Picqer\Barcode\BarcodeGeneratorPNG();
$barcode = $generator->getBarcode('123456', $generator::TYPE_CODE_128);
$barcode = base64_encode($barcode);
echo ' ';