0

我正在寻找为工作编写几百个条形码。我希望它在不为每个条形码手动运行脚本的同时完成。当我需要 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')

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

4

2 回答 2

1

您的脚本正在写入 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.jpg通过barcode400.jpg.

于 2019-10-07T22:01:09.750 回答
0

尝试这个。我相信你没有枚举你的,而是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))
于 2019-10-07T22:00:24.763 回答