如何在Python中生成PDF417条码并设置纠错级别和行列参数?

新手上路,请多包涵

求一段python能生成的 PDF417 条码格式 的代码。 找了几个库都不太理想。

条码数据 0019297311519072000000000000001288651648767257746484198319298303474681386887358559353473999283383789918702700800862270378460257730831219478449982806147177906916922556455799316276344591468941989140378331087439186562225099550711606495271454480380234244793834449513536033269278178618910043242593007660296123695148865838971058037391657216170038387810464445678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123452973 要求纠错级别5 列12 行宽 4X 谢谢了

阅读 3k
2 个回答

1.安装 pdf417gen 库

pip install pdf417gen

2.然后,使用以下代码生成 PDF417 条码:

from pdf417gen import encode, render_image

# 条码数据
data = "0019297311519072000000000000001288651648767257746484198319298303474681386887358559353473999283383789918702700800862270378460257730831219478449982806147177906916922556455799316276344591468941989140378331087439186562225099550711606495271454480380234244793834449513536033269278178618910043242593007660296123695148865838971058037391657216170038387810464445678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123452973"

# 编码数据
codes = encode(data, columns=12, security_level=5)

# 渲染图像
image = render_image(codes, scale=4)  # scale=4 表示行宽为4X

# 保存图像
image.save("barcode.png")

你可以试试Spire.Barcode for Python。首先使用已下命令安装:

pip install spire.barcode

然后添加以下代码:

from spire.barcode import *

def WriteAllBytes(fname:str,data):
    fp = open(fname,"wb")
    fp.write(data)
    fp.close()

barcodeSettings= BarcodeSettings()
barcodeSettings.Type = BarCodeType.Pdf417
barcodeSettings.Data = "12345"
barcodeSettings.Data2D = "12345"
barcodeSettings.Pdf417DataMode = Pdf417DataMode.Numeric
# 设置纠错级别
barcodeSettings.Pdf417ECL = Pdf417ECL.Level4
# 设置行列宽度
barcodeSettings.X = 4
barcodeSettings.Y = 12

# 生成PDF417条码
barCodeGenerator = BarCodeGenerator(barcodeSettings)
barcodeimage = barCodeGenerator.GenerateImage()

WriteAllBytes("Pdf417.png", barcodeimage)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏