如何使用 Python 和 pdf417 同时创建多个条形码

How can I create multiple barcodes at the same time using Python and pdf417

我希望为工作编写几百个条形码。我希望它同时完成,而不是手动 运行 每个条形码的脚本。我目前有的脚本只在需要400的时候写一个条码。

from pdf417 import encode, render_image, render_svg

r1 = 0
r2 = 401

def createlist(r1, r2):
    return [item for item in range(r1, r2)]

results = ((createlist(r1, r2)))

results = [str(i) for i in results]

#print(results)


for item in results:
    #print(str(item))
    codes = encode(str(item), columns=3, security_level=2)
    image = render_image(codes, scale=5, ratio=2, padding=5, fg_color="Indigo", bg_color="#ddd")  # Pillow Image object
    image.save('barcode.jpg')

这个脚本 returns 当我需要返回 400 个条码文件时只有一个条码文件。这是 python 3.7 和 Pdf417 的最新版本。先感谢您。

试试这个。我相信您没有枚举 barcode.jpg 而是多次写入同一个文件。您还需要对 400 执行操作以仅创建 400 个条形码。

from pdf417 import encode, render_image, render_svg

r1 = 0
r2 = 400

def createlist(r1, r2):
    return [item for item in range(r1, r2)]

results = ((createlist(r1, r2)))

results = [str(i) for i in results]

#print(results)


for item in results:
    #print(str(item))
    codes = encode(str(item), columns=3, security_level=2)
    image = render_image(codes, scale=5, ratio=2, padding=5, fg_color="Indigo", bg_color="#ddd")  # Pillow Image object
    image.save('barcode{0}.jpg'.format(item))

您的脚本正在写入 400 个条形码(实际上是 401 个条形码),但它通过将它们全部写入相同的文件名来实现,每次写入新条形码文件时都会替换以前的条形码文件。

要生成单独的文件,您只需更改文件名即可。例如:

from pdf417 import encode, render_image, render_svg

r1 = 0
r2 = 401

def createlist(r1, r2):
    return [item for item in range(r1, r2)]

results = ((createlist(r1, r2)))

results = [str(i) for i in results]

#print(results)


for item in results:
    #print(str(item))
    codes = encode(str(item), columns=3, security_level=2)
    image = render_image(codes, scale=5, ratio=2, padding=5, fg_color="Indigo", bg_color="#ddd")  # Pillow Image object
    image.save(f'barcode{item}.jpg')

这会生成 barcode0.jpgbarcode400.jpg