返回指南

条形码生成完全指南:原理、常见码制与批量生成实战
从编码原理到生产落地:条形码是怎么工作的,Code 128、EAN-13、UPC-A、QR Code 等码制对比,以及如何生成和批量导出。
条形码到底是什么
条形码把一串数据(数字/字母)编码成条形与空白的图案,光学读取器能快速解码。要点如下:
- 编码规则: 每种码制都有固定的字符集与起始/终止字符(如 Code 128 的起始/终止符)。
- 校验位: 部分格式(EAN-13、UPC-A)会按加权算法追加一个校验位,用来捕获录入错误。
- 静区: 两侧留白,通常为模块宽度的 10 倍,否则符号扫不出来。
常见码制对比
| 格式 | 类型 | 容量 | 典型用途 |
|---|---|---|---|
| Code 128 | 1D | 可变,全 ASCII | 物流、仓储、内部追溯 |
| EAN-13 | 1D | 13 位 | 零售商品 |
| UPC-A | 1D | 12 位 | 北美零售 |
| Code 39 | 1D | 43 字符 | 工业、汽车 |
| QR Code | 2D | 最高约 7 KB | 签到、跳转、追溯 |
| Data Matrix | 2D | 高密度 | 电子、医疗部件打标 |
| PDF417 | 2D | 大段文本 | 证件、物流单据 |
选型建议:
- 内部 ID / 序列号 → Code 128(高密度、全字符集)。
- 对外零售商品 → 向 GS1 申请 EAN-13 / UPC-A。
- 手机交互(扫码跳转)→ QR Code。
如果不确定该用哪种码制,先看 该选哪种条形码。
生成方式:编程还是在线
编程方式(Node / Python): bwip-js(JS)或 python-barcode(Python)这类库可以把生成嵌入流程并自动化。缺点是换格式就要改代码,非技术同事用不了。
下面是 python-barcode 的 Python 示例:
import barcode
from barcode.writer import ImageWriter
# Generate a Code 128 barcode from a value
value = "A-01-01"
rv = barcode.get("code128", value, writer=ImageWriter())
rv.save("bin-label") # writes bin-label.png
在线生成: 更适合运营/仓库自助使用,也方便快速验证格式。本站 在线条形码生成器 覆盖 35+ 种格式,亮点包括:
- 在浏览器里运行——免安装、免登录。
- 批量模式: 上传 CSV 或粘贴文本列表,一键生成整批。
- 导出 PNG / SVG;SVG 可直接进设计文件或打印。
- 内置扫描器和标签打印——从生成到贴标一步到位。仓库流程也可参考 批量生成 Code 128。
批量生成的实战
以"批量打印仓库货位标签"为例:
- 准备数据:一列货位 ID(如
A-01-01…A-12-30)存成 CSV。 - 在工具里选 Code 128(用 Code 128 生成器)并导入 CSV。
- 设置模块宽度、高度以及是否显示人眼可读文字。
- 批量导出 PNG(用于打印)或 SVG(用于矢量归档)。
- 配标签纸,用 条形码标签打印工具 直接输出。
整套流程几分钟搞定——远比手写或一张张截图快。
生产注意事项
- 分辨率: 打印 ≥300 DPI;PNG 适合屏幕,打印优先用 SVG。
- 规范: 条码高度和窄条宽度要符合标准——太小就扫不出。
- 静区: 不要裁掉两侧留白。
- 数据有效性: 让工具计算 EAN-13 / UPC-A 的校验位,不要手输。内部码(Code 128)可自行定义,但要保证系统内一致。
小结
条形码生成并不复杂——关键在于"选对格式 + 批量产出 + 合规输出"。对大多数非工程场景,一个好用的 免费在线条形码生成器 能覆盖约 80% 的需求;工程侧则把库集成进系统做自动化。两者结合最高效。
相关阅读
觉得这篇指南有用?☕
如果这篇指南节省了你的时间,欢迎支持这个项目——这能帮我们把条形码生成器一直免费下去。
