PHP、Python、Javascript 識別二維碼和生成二維碼解決方案
生成二維碼
安裝 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
生成二維碼
安裝 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生成和識別二維碼教程
生成二維碼
在網頁中引入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...
猝...珍愛生命,遠離百毒。信谷歌保平安。