这段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)}")
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐