最近公司的所有成品的标签上的Barcode要从EAN码转成UPC-A码,分享一些常识。
1、比较好用的设计、打印标签的软件BarTrends

BarTender 是美国海鸥科技推出的一款优秀的条码打印软件。 BarTender 是最快速、最容易设计专业、高质量标签的条码打印软件。应用于 WINDOWS95 、 98 、 NT 、 XP 、 2000 、 2003 和 3.1 版本。 产品支持广泛的条形码码制和条形码打印机,不但支持条形码打印机而且支持激光打印机。还为世界知名品牌条形码打印机开发了增强驱动。在为条形码打印机提供真正的 Windows 驱动程序这一领域,海鸥科技已经是世界上最大的软件开发商。Seagull Scientific 因 BarTender 而闻名于世。BarTender 是一个行业领先的标签设计和条形码软件。还是全球领先的条形码和感热打印机的标准 Windows 打印机驱动程序开发商。
官方网站:
http://www.seagullscientific.com/2、UPC-A码的规则及校验码的算法
先看一个UPC-A码的范例,让大家了解一下。

每个UPC-A码包括以下几个部分:
UPC-A码具有以下特点:
1.每个字码皆由7个模组组合成2线条2空白,其逻辑值可用7个二进制数字表示,例如逻辑值0001101代表数字1,逻辑值0为空白,1为线条,故数字1的UPC-A码为粗空白(000)-粗线条(11)-细空白(0)-细线条(1)。
2.从空白区开始共113个模组,每个模组长0.33mm,条码符号长度为37.29mm。
3.中间码两侧的资料码编码规则是不同的,左侧为奇,右侧为偶。奇表示线条的个数为奇数;偶表示线条的个数为偶数。左资料码与右资料码字码的逻辑值如表2.2所示。
表2.2 UPC-A码左资料码与右资料码字码逻辑值对照表
左资料码(奇) 右资料码(偶)
字码 值 逻辑值 逻辑值
0 0 0001101 1110010
1 1 0011001 1100110
2 2 0010011 1101100
3 3 0111101 1000010
4 4 0100011 1011100
5 5 0110001 1001110
6 6 0101111 1010000
7 7 0111011 1000100
8 8 0110111 1001000
9 9 0001011 1110100
注: 0为空白,1为线条
4.起始码、终止码、中间码的线条高度长於数字码。
5.校验码的算法
从国别码开始自左至右取数,设UPC-A各码代号如下:
N11 N10 N9 N8 N7 N6 N5 N4 N3 N2 N1 C
则校验之计算步骤如下:
C1 = (N1+ N3+N5+N7+N9+N11)× 3
C2 = N2+N4+N6+N8+N10
CC = (C1+C2) 除10取余(取个位就行)
C (校验) = 10 - CC (若值为10,则取0)
实际的计算案例:
UPC-A码为:6 09843 95535 X
X为校验码
C1=(6+9+4+9+5+5)*3=114
C2=0+8+3+5+3=19
CC=(C1+C2)/10 取余=3
C=10-3=7
最终X=7,UPC-A码为:6 09843 95535 7