二维码(Quick Response code)已成为在物理和数字领域之间架起桥梁的多功能工具。从分享联系信息和网站链接到促进支付和跟踪库存,二维码在各个行业中找到了应用。通过利用Python的功能,用户可以自动化生成个性化的二维码,或者在项目中集成扫描功能,从而提高效率和用户参与度。本文将展示如何使用Python自动化创建和扫描二维码。
本文中使用的方法需要Spire.Barcode for Python,PyPI:pip install Spire.Barcode。
BarcodeSettings类可用于配置生成条形码的设置。这些设置包括条形码类型、要编码的数据、颜色、边距以及水平和垂直分辨率。
完成这些设置后,我们可以使用这些配置创建一个BarcodeGenerator实例。随后,我们可以调用生成器的GenerateImage()方法来生成条形码图像。
步骤如下:
代码示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
from spire.barcode import BarcodeSettings, BarCodeType, QRCodeECL, BarCodeGenerator
# 将所有字节写入文件 def WriteAllBytes(fname: str, data): with open(fname, "wb") as fp: fp.write(data) fp.close()
# 创建 BarcodeSettings 对象 barcodeSettings = BarcodeSettings()
# 设置条形码类型为 QR 码 barcodeSettings.Type = BarCodeType.QRCode
# 设置 2D 条形码的数据 barcodeSettings.Data2D = "Hello, World"
# 设置边距 barcodeSettings.LeftMargin = 0.2 barcodeSettings.RightMargin = 0.2 barcodeSettings.TopMargin = 0.2 barcodeSettings.BottomMargin = 0.2
# 设置水平分辨率 barcodeSettings.DpiX = 500
# 设置垂直分辨率 barcodeSettings.DpiY = 500
# 设置纠错级别 barcodeSettings.QRCodeECL = QRCodeECL.M
# 不在条形码上显示文本 barcodeSettings.ShowText = False
# 在 QR 码的中心添加 logo barcodeSettings.SetQRCodeLogoImage("PDF.png")
# 使用指定的设置创建 BarCodeGenerator 实例 barCodeGenerator = BarCodeGenerator(barcodeSettings)
# 生成条形码图像 image = barCodeGenerator.GenerateImage()
# 将 PNG 图像写入磁盘 WriteAllBytes("output/QR-Code.png", image) |
生成结果
库中的BarcodeScanner类用于条形码图像识别。这个类提供了几种从条形码中提取数据的方法,包括:
以下代码演示了如何使用它扫描二维码图像。
扫描二维码的步骤如下(扫描二维码需要应用License):
代码示例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
from spire.barcode import BarcodeScanner
License.SetLicenseKey("license key")
# 扫描包含一个条形码的图像文件 result = BarcodeScanner.ScanOneFile("output/QR-Code.png")
# 扫描包含多个条形码的图像文件 # results = BarcodeScanner.ScanFile("QR-Codes.png")
# 将扫描结果保存到文本文件 with open("output/QR-Code.txt", "w", encoding="utf-8") as f: f.write(result) |
扫描结果
本文展示了如何使用Python创建和扫描二维码。