这段Python代码演示了使用barcode库批量生成条形码的方法。程序首先导入必要的模块,然后创建1000个EAN13格式的条形码数据(12位数字+自动校验位)。代码会创建一个"barcode"文件夹来存储生成的图片。对于每个数据,程序使用ImageWriter生成条形码图片,并可以自定义条形码宽度、高度、文字大小等参数。生成的图片以PNG格式保存,文件名按序号命名。程序还包含异常处理,会反馈每个条形码的生成状态。该脚本适用于需要批量制作商品条形码等场景。
import os
from barcode import EAN13, Code128 # 可按需导入其他条形码格式
from barcode.writer import ImageWriter
# 要生成的条形码数据列表(示例:EAN-13 格式需 12 位数字,最后一位为校验码自动生成)
data_list = [f"1234567{i:03d}89" for i in range(1000)]
# 保存文件夹
save_dir = "barcode"
os.makedirs(save_dir, exist_ok=True)
# 生成条形码并保存
for i, data in enumerate(data_list):
try:
# 创建条形码对象(这里使用 EAN13 格式,可改为 Code128 等其他格式)
barcode_obj = EAN13(data, writer=ImageWriter())
# 保存路径(不含扩展名,会自动添加 .png)
save_path = os.path.join(save_dir, f"barcode_{i}")
# 保存条形码图片(可自定义图片参数)
barcode_obj.save(save_path, options={
"module_width": 0.3, # 条形码模块宽度(毫米)
"module_height": 10, # 条形码模块高度(毫米)
"font_size": 10, # 字体大小(点)
"text_distance": 5.0, # 文本与条形码的距离(毫米)
"quiet_zone": 1.0 # 空白区域宽度(毫米)
})
print(f"成功生成条形码 {i + 1}/{len(data_list)}: {save_path}.png")
except Exception as e:
print(f"生成条形码 {i + 1} 失败: {str(e)}")