摘要:大多数产品条形码并非任意数字——EAN-13 和 UPC-A 都以数学推导出的校验位结尾,出错就意味着扫描仪会在收银台或仓库拒收该标签。可搭配 Character Counter、Text Difference、Encoding Converter 和 Duplicate Finder 一起使用本指南。
CharCount 的 Barcode Generator 可为产品、货架标签和内部追踪生成可直接打印的条形码。这些条形码背后的标准比看起来更重要:GS1 条形码标准和 GTIN 规范精确定义了一个有效的零售条形码是如何逐位构建的。
EAN-13 与 UPC-A:不只是 13 个随机数字
EAN-13 条形码由国家/制造商前缀、产品代码和一个从其余 12 位计算出的最终校验位组成。UPC-A(在美国和加拿大常见)以同样方式工作,共 12 位数字。校验位使扫描仪能瞬间发现印刷错误或模糊的条纹,而不是把错误的商品计入账单。
校验位的计算公式:从右边开始,将交替的数字分别乘以 3 和 1,求和,校验位就是使这个总和凑到下一个 10 的倍数所需的数字。改变条形码中的任何其他数字,校验位几乎肯定就不再匹配——这正是它的目的:一个内建的错误检测器,而非装饰。
为什么条形码看起来正确却仍然扫描不出
只检查"是否为 13 位数字"的生成器很容易生成一个看起来正确、但未通过校验位测试的条形码,从而被任何符合 GS1 标准的零售扫描仪拒收。数字也必须被正确分配——GTIN 前缀不是随便的数字,它是由 GS1 授权给特定公司使用的,因此一个校验位正确但前缀错误的条形码,即便能扫描出来,在零售场景下仍可能是无效的。
打印质量是导致失败的另一个常见原因:条纹两侧需要足够的对比度和静区(空白边距),否则扫描仪的激光根本找不到起止图案——即便条形码在数值上完全正确,若打印对比度过低或尺寸过小,仍然无法读取。
选择条形码格式
- 在店内销售的零售产品 → EAN-13(国际)或 UPC-A(美国/加拿大),两者都通过校验位验证。
- 内部库存或资产追踪,不用于零售销售 → Code 128 或 Code 39,两者除数字外还支持字母。
- 打印空间有限的小标签 → 二维码,比一维条形码能在更小的线性空间内容纳更多数据。
打印前的检查清单
生成条形码后,先验证校验位对于你打算打印的确切数字是否计算正确——序列中任何一位输错都会改变它。以最终尺寸打印一份测试标签,用真正的条形码阅读器或手机扫描应用测试,再批量打印;一段在屏幕上放大 300% 看起来没问题的条形码,实际打印出来仍可能太小或对比度不足。
如果你一次生成大量代码,请用 Duplicate Finder 交叉检查源列表——两件产品因复制粘贴失误而共用同一个 GTIN,是一种常见且可避免的错误——并在生成之前用 Character Counter 确认每个代码的位数恰好符合该格式的要求。