python
主页 > 脚本 > python >

使用python生成各种常见条形码及二维码

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

条形码和二维码是现代信息交换和数据存储的重要工具,它们将信息以图形的形式编码,便于机器识别和数据处理,被广泛应用于物流、零售、医疗、教育等各领域。

本文将介绍如何使用Python快速生成各种常见的条形码如Code 128、EAN-13,以及生成二维码。

Python条码库

本文需要用到 Spire.Barcode for Python 库,该库支持生成、识别各类一维和二维条码,包括 EAN, UPC, Code128, Code39, QR Code, Data Matrix 等,满足各种应用需求。此外还提供了丰富的接口来自定义条码图片的边框样式、颜色、边距等属性。
该Python条码生成库可以通过 pip轻松安装:

1

pip install Spire.Barcode

生成条码的类、方法简介

要使用Spire.Barcode for Python库生成条码,主要会用到以下类、属性、方法:

  1. BarcodeSettings 类:用于条码生成的各项设置。支持设置条码类型、数据、背景色、宽高度、边距、分辨率等。
  2. BarcodeSettings.Type 属性:设置条码类型。
  3. BarcodeSettings.Data 属性:设置条码数据。
  4. BarcodeSettings.Data2D 属性:设置二维码文本。
  5. BarcodeGenerator 类:用于条码渲染。
  6. BarcodeGenerator.GenerateImage() 方法:用于生成条码图片。

以下为生成条码的Python代码示例

Python 生成 Code128码

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

from spire.barcode import *

 

def WriteAllBytes(fname: str, data):

    with open(fname, "wb") as fp:

        fp.write(data)

    fp.close()

 

# 创建BarcodeSettings对象

barcodeSettings = BarcodeSettings()

 

# 将条码类型设置为Code128

barcodeSettings.Type = BarCodeType.Code128

 

# 设置条码数据

barcodeSettings.Data = "XD00555"

 

# 设置Code128条形码的代码集

barcodeSettings.Code128SetMode = Code128SetMode.Auto

 

# 创建BarCodeGenerator对象

barCodeGenerator = BarCodeGenerator(barcodeSettings)

 

# 生成条码图片

barcodeimage = barCodeGenerator.GenerateImage()

WriteAllBytes("Code128.png", barcodeimage)

条码图:

Python 生成 EAN-13码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

from spire.barcode import *

 

def WriteAllBytes(fname: str, data):

    with open(fname, "wb") as fp:

        fp.write(data)

    fp.close()

 

# 创建BarcodeSettings对象

barcodeSettings = BarcodeSettings()

 

# 将条码类型设置为EAN13

barcodeSettings.Type = BarCodeType.EAN13

 

# 设置条码数据

barcodeSettings.Data = "5019632805254"

 

# 创建BarCodeGenerator对象

barCodeGenerator = BarCodeGenerator(barcodeSettings)

 

# 生成条码图片

barcodeimage = barCodeGenerator.GenerateImage()

WriteAllBytes("EAN13.png", barcodeimage)

条码图:

Python 生成二维码QR Code

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

from spire.barcode import *

 

def WriteAllBytes(fname:str,data):

    fp = open(fname,"wb")

    fp.write(data)

    fp.close()

 

# 创建BarcodeSettings对象

barcodeSettings = BarcodeSettings()

 

# 将条码类型设置为QR Code

barcodeSettings.Type = BarCodeType.QRCode

 

# 设置背景颜色

barcodeSettings.BackColor = Color.get_WhiteSmoke()

 

# 设置QR Code的编码模式

barcodeSettings.QRCodeDataMode = QRCodeDataMode.Byte

 

# 设置纠错等级(ECL)

barcodeSettings.QRCodeECL = QRCodeECL.M

 

# 设置是否在二维码底部显示文本

barcodeSettings.ShowTextOnBottom = True

 

# 设置分辨率

barcodeSettings.DpiX = 500

barcodeSettings.DpiY = 500

 

# 设置二维码数据

barcodeSettings.Data2D = "Hello, World"

 

# 创建BarCodeGenerator对象

barCodeGenerator = BarCodeGenerator(barcodeSettings)

 

# 生成二维码图片

barcodeimage = barCodeGenerator.GenerateImage()

WriteAllBytes("QRCode.png", barcodeimage)

条码图:

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