前篇讲解如何产二维条码 QR Code,这篇则是示范如何解析(解码) QR Code,类似工具有 ZBar、ZXing..等,本篇以 ZBar 做示范
情境说明,打 API 取回的图片、PDF 中,有包含 QR Code,需要解析 QR Code 的讯息内容 (这边不示范如何截图指定位置,可用 RMagick 处理)
需要安装 zbar
,也可以用 zbar Gem,这边以 Homebrew 安装为例
# for macOS
brew install zbar
先产一个 QR Code 的图片档,接着再用 zbar
来解析(编码)
# 产一个 qr_code.png
qrcode = RQRCode::QRCode.new("https://riverye.com/")
png = qrcode.as_png(size: 300, border_modules: 2, module_px_size: 2)
qrcode_path = Rails.root.join("qrcode.png")
IO.binwrite(qrcode_path, png.to_s)
# ---
# 解码 qrcode.png
qrcode_path = Rails.root.join("qrcode.png")
decoded_qrcode = `zbarimg #{qrcode_path}` # "QR-Code:https://riverye.com/\n"
result = decoded_qrcode.gsub("QR-Code:", "").gsub("/\n", "") # "https://riverye.com"
最初是使用 zxing_cpp Gem 处理,也能解决问题,但总下载次数与热门 Gem 动辄数百万、数千万次数相比,算是比较冷门的 Gem。
ZBar 与 ZXing 都能找到类似的 Gem 使用,有需要时,可以看哪个用比较上手~
铁人赛文章连结:https://ithelp.ithome.com.tw/articles/10264602
medium 文章连结:https://link.medium.com/MDSrOdpGOjb
本文同步发布於 小菜的 Blog https://riverye.com/
备注:之後文章修改更新,以个人部落格为主
>>: [从0到1] C#小乳牛 练成基础程序逻辑 Day 10 - 转角捡到猫 取什麽名字好? 命名规范
Step 1: 蒐集数据 要先将自己需要的数据下载好,并且确认资料格式而去做不同的处理 Step ...
用gem跟CDN不好吗... 这麽简单的事情也要分享?? 因为,没常安装就忘东忘西了... 认命做...
其实为什麽P5这麽多人喜爱 阅读性真的很高,举例来讲好了 一个基本的设定 首先你先设定 setup ...
重点: Z-index 数字越大 越在上方,如同photoshop的图层概念 建议1-30层就好了 ...
茕茕白兔,东走西顾。衣不如新,人不如故。心理学研究#怀旧,会让人变得积极乐观,本来想读VB重温16岁...