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 协议》,转载必须注明作者和本文链接
推荐文章: