我使用 ReportLab 创建了一个带有条形码的 pdf 页面。一切正常,除了当我扫描其中一个条形码时它会附加一个字符。例如,当我尝试扫描 700124 时,我得到 700124A,700224 变成 700224B 等。我不希望附加这些字符。有谁知道如何阻止这个?我找不到任何关于此的文档。我使用以下 Python 代码:
from reportlab.graphics.barcode import code39
from reportlab.lib.pagesizes import A4
from reportlab.lib.units import mm
from reportlab.pdfgen import canvas
c = canvas.Canvas("barcode_example.pdf", pagesize=A4)
code_list = ['700124', '700224', '700324', '700424', '700524', '700624', '700724', '700824', '700924']
x = 1 * mm
y = 280 * mm
x1 = 6.4 * mm
r = 0
for code in code_list:
barcode = code39.Standard39(code, barHeight=26, stop=1)
barcode.drawOn(c, x, y)
x1 = x + 6.4 * mm
y = y - 5 * mm
c.drawString(x1, y, code)
x = x
y = y - 25 * mm
if int(y) < 0:
if r != 3:
x = x + 50 * mm
y = 280 * mm
r = r + 1
else:
c.showPage()
x = 1 * mm
y = 280 * mm
x1 = 6.4 * mm
r = 0
c.save()
最佳答案
即使用户声称未添加校验和,默认情况下,reportlab 条形码库也会自动添加校验和。
要避免校验和字符,请使用参数 checksum=0 初始化条形码,如下所示:
barcode = code39.Standard39(code, barHeight=26, stop=1, checksum=0)
关于python - 如何阻止 ReportLab 将不需要的字符附加到条形码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23950822/