python
主页 > 脚本 > python >

使用Python自动化创建和扫描二维码

2024-07-22 | 佚名 | 点击:

二维码(Quick Response code)已成为在物理和数字领域之间架起桥梁的多功能工具。从分享联系信息和网站链接到促进支付和跟踪库存,二维码在各个行业中找到了应用。通过利用Python的功能,用户可以自动化生成个性化的二维码,或者在项目中集成扫描功能,从而提高效率和用户参与度。本文将展示如何使用Python自动化创建和扫描二维码。

本文中使用的方法需要Spire.Barcode for Python,PyPI:pip install Spire.Barcode。

使用Python创建二维码

BarcodeSettings类可用于配置生成条形码的设置。这些设置包括条形码类型、要编码的数据、颜色、边距以及水平和垂直分辨率。

完成这些设置后,我们可以使用这些配置创建一个BarcodeGenerator实例。随后,我们可以调用生成器的GenerateImage()方法来生成条形码图像。
步骤如下:

  1. 导入BarcodeSettings、BarCodeType、QRCodeECL和BarCodeGenerator模块。
  2. 创建一个BarcodeSettings对象。
  3. 使用BarcodeSettings.Type属性将条形码类型设置为二维码。
  4. 使用BarcodeSettings.Data2D属性设置二维条形码的数据。
  5. 使用BarcodeSettings对象下的属性设置条形码的其他属性。
  6. 基于这些设置创建一个BarCodeGenerator对象。
  7. 使用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)

生成结果

使用Python扫描二维码

库中的BarcodeScanner类用于条形码图像识别。这个类提供了几种从条形码中提取数据的方法,包括:

以下代码演示了如何使用它扫描二维码图像。

扫描二维码的步骤如下(扫描二维码需要应用License):

  1. 导入BarcodeScanner模块。
  2. 使用BarcodeScanner.ScanOneFile()方法扫描包含一个二维码的图像,或者使用BarcodeScanner.ScanFile()方法扫描包含多个二维码的图像。
  3. 保存扫描结果到文本文件。

代码示例

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创建和扫描二维码。

原文链接:
相关文章
最新更新