我想为工作写几百个条形码。我希望它与不为每个条形码手动运行脚本的同时完成。当我需要 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。 提前谢谢你。
您的脚本正在写入 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')
这将通过barcode400.jpg
生成barcode0.jpg
。
试试这个。我相信您没有枚举您的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))