dsiddharth2 / php-zxing
使用php对zxing进行包装
1.0.3
2019-08-30 13:45 UTC
This package is not auto-updated.
Last update: 2024-09-19 12:14:23 UTC
README
PHPZxing是一个使用Zxing库创建和读取条码的小型php包装器。底层仍然使用Zxing库来编码和解码数据。
使用composer安装
{ "require": { "dsiddharth2/php-zxing": "1.0.3" } }
注意
- 目前只编程了解码器。需要编程编码器。
- 默认配置的java位置是/usr/bin/java
版本1.0.3中的更改
- 添加了可能格式的工作功能
版本1.0.2中的更改
- 更新了新的jar文件,并在Windows系统上进行了测试
版本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); } } }
您也可以使用配置。解码器有4个配置
更多示例
您也可以传递图像数组
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环境中
> where java
有关更多信息,在Windows上请参阅以下stackoverflow链接链接
致谢
贡献
请贡献或提出更改建议。