PHP、Python、JavaScript 识别二维码和生成二维码解决方案
PHP、Python、Javascript 识别二维码和生成二维码解决方案
PHP
生成二维码
安装 endroid/qr-code 包
composer require endroid/qr-code
使用Demo 更多请查看 文档
use Endroid\QrCode\QrCode;
$qrCode = new QrCode('Life is too short to be generating QR codes');
header('Content-Type: '.$qrCode->getContentType());
echo $qrCode->writeString();
exit(); //需加上这行 不然会乱码
识别二维码
安装 khanamiryan/php-qrcode-detector-decoder 包,此包是基于谷歌开源的zxing实现的。
composer require khanamiryan/qrcode-detector-decoder
使用Demo 更多请查看 文档
use Zxing\QrReader;
$qrcode = new QrReader('path/to_image');
$text = $qrcode->text(); //return decoded text from QR Code
Python
生成二维码
安装 qrcode
包
pip install qrcode
使用Demo
import qrcode
# 二维码内容
data = "https://www.baidu.com"
# 生成二维码
img = qrcode.make(data=data)
# 直接显示二维码
img.show()
# 保存二维码为文件
# img.save("baidu.jpg")
识别二维码
安装 zxing
包(此包依赖JDK环境,需要先安装JDK环境)
pip install zxing
使用Demo
import zxing
reader = zxing.BarCodeReader()
barcode = reader.decode("baidu.jpg")
print(barcode.parsed)
更多请参考 Python3+qrcode+zxing生成和识别二维码教程
Javascript
生成二维码
在网页中引入jquery.qrcode.js
<script src="https://cdn.bootcss.com/jquery.qrcode/1.0/jquery.qrcode.min.js"></script>
创建一个div标签用来显示二维码
<div id="qrcode"></div>
使用Demo
jquery('#qrcode').qrcode("this plugin is great");
jquery('#qrcode').qrcode({width: 64,height: 64,text: "size doesn't matter"}); //自定义二维码大小
识别二维码
js识别、生成二维码在线 DEMO
生成是用的jquery.qrcode.js
实现的,识别是我从 WebQR 这个网站扒下来的。下载源码
已知问题:Windows版的Chrome和安卓手机测试是没问题的,但Mac和ios上js报错。无法识别二维码!
踩坑总结
需求是实现用户上传支付宝、微信收款码。程序识别二维码内容然后重新生成二维码。(⊙o⊙)…因为收款码上有多余的内容~~~
百毒找了一圈php识别二维码,就只有装扩展而且作者还弃坑了。遂放弃...
后面找到一个js方案。从webqr上扒下人家的js。嗯 实现了。上线运行 ... 发现苹果设备不兼容。
后改成调别人API识别。发现识别也不是很理想。
后面查找python识别方案。找到了zxing包。发现居然依赖JDK...
最后发现zxing是谷歌开源的识别方案,嗯 有人移植到了php...
猝...珍爱生命,远离百毒。信谷歌保平安。
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: