首页 > 解决方案 > 如何使用 Python 和 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')

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

标签: pythonpython-3.xloopspdf417

解决方案


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


推荐阅读