mindongji / php-zxing
使用php封装的zxing工具
1.0.4
2018-11-03 05:41 UTC
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-29 20:22:48 UTC
README
PHPZxing是一个小的php封装,使用Zxing库来创建和读取条形码。在底层,它仍然使用Zxing库来编码和解码数据。
使用composer安装
{ "require": { "mindongji/php-zxing": "1.0.1" } }
注意
- 目前只编写了解码器。需要编码器的编程。
- 默认配置的java位置是/usr/bin/java
版本1.0.1的更改
- 添加了一个isFound函数,该函数将告诉是否找到条形码。
- 如果检测到一个条形码,则返回对象而不是单个对象的数组。
基本用法
use PHPZxing\PHPZxingDecoder; $decoder = new PHPZxingDecoder(); $data = $decoder->decode('../images/Code128Barcode.jpg'); if($data->isFound()) { $data->getImageValue(); $data->getFormat(); $data->getType(); }
如果找到条形码,解码数据是PHPZxing\ZxingImage对象的数组。如果没有找到,则是一个PHPZxing\ZxingBarNotFound对象的数组。
检查条形码是否存在
可以使用isFound()函数找到条形码的存在。
use PHPZxing\PHPZxingDecoder; $decoder = new PHPZxingDecoder(); $data = $decoder->decode('../images/Code128Barcode.jpg'); if($data->isFound()) { $data->getImageValue(); $data->getFormat(); $data->getType(); }
您也可以使用instanceof对象来检查,
use PHPZxing\PHPZxingDecoder; $decoder = new PHPZxingDecoder(); $data = $decoder->decode('../images/Code128Barcode.jpg'); if($data instanceof PHPZxing\ZxingImage) { $data->getImageValue(); $data->getFormat(); $data->getType(); }
我们可以在PHPZxing\ZxingImage中使用以下公共方法,
我们可以在PHPZxing\ZxingImage中使用以下公共方法,
设置配置
use PHPZxing\PHPZxingDecoder; $config = array( 'try_harder' => true, ); $decoder = new PHPZxingDecoder($config); $decodedArray = $decoder->decode('../images'); if(is_array($decodedArray)){ foreach ($decodedArray as $data) { if($data->isFound()) { print_r($data); } } }
您也可以使用配置。解码器有3个配置,
更多示例
您也可以传递图像数组,
use PHPZxing\PHPZxingDecoder; $decoder = new PHPZxingDecoder(); $imageArrays = array( '../images/Code128Barcode.jpg', '../images/Code39Barcode.jpg' ); $decodedArray = $decoder->decode($imageArrays); foreach ($decodedArray as $data) { if($data instanceof PHPZxing\ZxingImage) { print_r($data); } else { echo "Bar Code cannot be read"; } }
读取多个条形码,
use PHPZxing\PHPZxingDecoder; $config = array( 'try_harder' => true, 'multiple_bar_codes' => true ); $decoder = new PHPZxingDecoder($config); $decodedData = $decoder->decode('../images/multiple_bar_codes.jpg'); print_r($decodedData);
设置Java路径
如果您的java路径设置不正确,解码器将无法工作。您需要设置java变量的路径。
use PHPZxing\PHPZxingDecoder; $decoder = new PHPZxingDecoder(); $decoder->setJavaPath('/your/path/to/java'); $decodedData = $decoder->decode('../images/Code128Barcode.jpg'); print_r($decodedData);
我的java在哪里?
如果您不知道java的路径,那么您可以在*nix环境中使用以下命令
$ which java
在Windows上阅读以下stackoverflow 链接
致谢
贡献
请贡献或提出更改建议。