HT LF VT FF CR SO SI
&I EM &Y &J SUB &Z &K ESC 'A &L FS 'B &M FS 'C &N RS 'D &O US 'E ) * + , - . / (I (J + (L - . / 9 : : < = > ? 9 (Z 'F 'G 'H 'I 'J I J K L M N O I J K L M N O Y Y Z Z [ 'K / 'L ] 'M ^ 'N 'O i j k l m n o )I )J )K )L )M )N )O y z { | } ~ DEL )Y )Z 'P 'Q 'R 'S 'T
^BB CODEBLOCK 条码
^BB(CODEBLOCK)是二维、多层、堆栈型符号码。它完美地用于需读取大量信息的应用中。 选择不同的模式,代码的层数也在1到44之间变化。每一层都有起始符与终止符。 打印比例:CODEBLOCK 是可变的,CODEBLOCK E 和CODEBLOCK F是固定的。 下面是一个打印CODEBLOCK条码的例子: ^BB命令的格式: ^BBo,h,s,c,r,m
^BB = CODEBLOCK条码 o = 字体方向
默认值:^FW默认值或上一个^FW的值。
其他 N = 正常 (Normal)
值: R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom) h = 单独每层的条码高度
默认值:8点
其他值:2点到200点
s = 安全级别 (决定是否生成校验位并增加到条码中)
默认值: Y = 打印校验位(Yes) 其他值:N = 不打印校验位(No)
注意:只有参数m 设为CODEBLOCK A时才能改变安全级别。如果只是单层就不生成校验位。 c = 每一层的字符数
使用户可以控制条码的宽度。
范围:CODEBLOCK A,E和F:2到62 r = 编码的层数
用户可以指定条码的层数来控制条码的高度。 范围:CODEBLOCK A:1 到 22 CODEBLOCK E 、F:2到44
如果条码的层数和每层的字符数没有定义,将打印一个单层。
如果没有指定每层的字符数,条码的字符数小于每层的字符数,将打印
一个单层。
如果没有指定每层的字符数,数据字段除以层数就是每层的字符数。 如果指定了两个参数,字段数据发须小于它们的乘积。 如果大于它们的乘积,既不打印条码了不显示错误代码。
m = 模式
默认值:F
其他值:A 和 E
CODEBLOCK A 使用39码字符集,
CODEBLOCK F 使用128码字符集,
CODEBLOCK E使用128字符集并自动增加FNC1子集。
使用CODEBLOCK时^BY命令的注意事项
使用^BB代码时,^BYw,r,h各参数的意义如下: w = 模块宽度(默认值=2),最大为10。
r = 比例( 默认值=3)固定。在CODEBLOCK中没作用。
h = 条码高度。整个条码的高度。只有CODEBLOCK在^BB中没有指定高度时,将使用这个值作为整个条码的高度。
使用CODEBLOCK时特殊的^FD字符集
根据参数m的不同选择不同的字符集。
CODEBLOCK A:使用的字符集同CODE39。如果有其他的字符在^FD中,由^CV语句决定不打印条码或打印错误信息。 CODEBLOCK E:自动模式集包含了除了对打印机有特殊含义的字符以外的全部的ASCII字符集。功能代码和CODE128子集A中NUL字符也可以用^FH来插入。
对于那些ASCII码大于84hex的字符,由^CV语句决定不打印条码或打印错误信息。
CODEBLOCK F:使用除了对打印机有特殊含义的字符以外的全部的ASCII字符集。功能代码和CODE128子集A中NUL字符也可以用^FH来插入。
对于那些ASCII码大于84hex的字符,由^CV语句决定不打印条码或打印错误信息。
^BC Code 128 条码
^BC(Code 128)条码是一种高密度、变长、连续型字母数字型符号码。它被设计用来对一些复杂的产品标识进行编码。该代码也叫USD-6条码。
CODE128码有三个字符子集。每个子集可对106个可打印字符进行编码。所以每个字符在不同的子集有不同的含义。 每个Code 128码的字符由六个元素组成:三个条,三个空。所不同的是,可阅读的注释上将把所用的控制代码了打印出来。
注意:控制码是成对使用的,如须知详情,参阅93码规范。 打印比例固定。
^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度确定。(如果旋转,则指长度)
^BC命令的格式: ^BCo,h,f,g,e,m
^BC = Code 128条码 o = 字体方向
默认值:^FW默认值或上一个^FW的值。
其他 N = 正常 (Normal)
值: R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom) h = 条码高度
默认值:由^BY设置
其他值:1到9999点 f = 打印注释行
默认值: Y = 打印(Yes)
其他值:N = 不打印(No) g = 将注释行打印在条码上方
默认值: N = 不打印在条码上方
其他值: Y = 打印在条码上方 e = 打印UCC校验位
默认值:Y = 打印(Yes)
其他值:N = 不打印(No) m = 模式
默认值:N = 不选择模式
其他值:U = UCC匹配模式。(^FD或^SN后必须有19位数字。)用FNC1值自动选择C子集。
版本16.3.0版本有效: A = 自动模式。自动模式将分析收到的数据并自动决定选取最佳的压缩方式。^FD可以用全部ASCII字符。打印机将确定是否变化子集。四个及以上的数字将自动变化为C子集。
128码字符集
值 0 1 2 3 4 5 6 7 8
A代B代C代码 码 码 SP SP 00 ! ! 01 “ “ 02 # # 03 ¥ ¥ 04 % % 05 & & 06 ‘ ‘ 07 ( ( 08
A代B代C代码 码 码 28 < < 28 29 = = 29 30 > > 30 31 ? ? 31 32 @ @ 32 33 A A 33 34 B B 34 35 C C 35 36 D D 36 值
A代B代C代码 码 码 56 X X 56 57 Y Y 57 58 Z Z 58 59 [ [ 59 60 / / 60 61 ] ] 61 62 62 63 63 64 NUL _ 64 值
值 84 85 86 87 88 89 90 91 92
A代B代码 码 DC4 t NAK u SYN v ETB w CAN x EM y SUB z EM { FS |
C代码 84 85 86 87 88 89 90 91 92
9 10 11 12 13 14 15 ) * + ' - . / ) * + ' - . / 09 10 11 12 13 14 15 37 38 39 40 41 42 43 E F G H I J K E F G H I J K 37 38 39 40 41 42 43 65 66 67 68 69 70 71 SOH STX ETX EOT ENQ ACK BEL . a b c d e f 65 66 67 68 69 70 71
16 0 17 18 19 20 21 22 23 24 25 26 27
1 2 3 4 5 6 7 8 9 : ;
0 16 44 L 1 2 3 4 5 6 7 8 9 : ;
17 18 19 20 21 22 23 24 25 26 27
45 46 47 48 49 50 51 52 53 54 55
M N O P Q R S T U V W
L 44 72 BS g 72 M N O P Q R S T U V W
45 46 47 48 49 50 51 52 53 54 55
73 74 75 76 77 78 79 80 81 82 83
HT LF VT FF CR SO SI DLE DC1 DC2 DC3
h i j k l m n o p q r
73 74 75 76 77 78 79 80 81 82 83
93 GS } 93 94 RS ~ 94 95 US DEL 95 96 FNC3 96 97 FNC2 97 98 SHIFT 98 99 Code C 99
Code CODE 100 FNC4
B B 101 FNC4 Code A 102 FNC1 103 A子集起始符 104 B子集起始符 105 C子集起始符
选择UCC匹配模式的特殊情况
1. 2.
在^FD和^SN语句中超过19位的数据将被截去。
在^FD和^SN语句中小于19位的数据将被自动在前面加0到满19位。
CODE 128子集
CODE128有三种子集:A子集,B子集,C子集。子集可以有两种方法选择。 1. 2.
可以在数据字段(^FD)的条码前加上一个特殊的转换符号。
在字段数据前加上起始字符,如果没有输入起始代码,将选用B子集。
在一个条码内部改变子集,要将转换符号置于字段数据的合适的位置。这样新的子集将一直作用到遇到下一个转换符为止。(例如:在C子集中,数据字段中的“>7”将转换为A子集。)下表显示CODE128的转换代码与三个子集的起始代码。
替代码 >< >0 >= >1 >2 >3 >4 >5 >6 十进制值 62 30 94 95 96 97 98 99 100 A子集字符
> USQ FNC3 FNC2 SHIFT CODE C CODE B B子集字符
> ~ DEL FNC3 FNC2 SHIFT CODE C FNC4 C子集字符
CODE B
>7 >8 >9 >: >;
101 102 起始符 103 104 105 FNC4 CODE A CODE A FNC1 FNC1 FNC1
以Code A开始(成对的字母/数字) 以Code B开始(一般的字母/数字) 以Code C开始(所有的数字00-99)
Code 128的示例――B子集
由于Code 128的B子集是最常用的子集,在字符串没有指定起始符时ZPLII默认使用B子集。以下是两个示例。 这两个示例的条码是一模一样的。
前两条命令(^XA^FO100,75)开始标签格式并设置字段位置。(从左上角开始)到条码字段x,y座标为(100,75)。 第三条命令(^BCN,100,Y,N,N)打印不旋转的高度为100点的Code128条码。 第四条命令(左图中的^FDCODE128和右图中的^FD>:CODE128)指定了条码的内容。 第五条命令^XZ表明结束打印字段并结束标签格式。 当UCC校验位关闭后,注释行将打印在条码下方。
注意:左图并没有指定任何子集,所以使用B子集,在右图中,则指定使用B子集。由于ZPLII默认使用CODE B,本示例对于转换符在命令中的运用是一个很好的练习。
Code 128 B子集是直接用ASCII文本进行编程的,除了几个数值大于94的几个特殊字符: ^ > ~ 这些字符必须用转换字符来编程。
Code 128的示例――A子集和C子集
Code 128码C子集中对对双数字进行编程。在A子集中,双数字中的每个数字都作为一个单独的字符来打印,在C子集中则作为一个码字来打印。下图右为A子集的示例。(“>9”是A子集的起始符)
下图中左图和中图是C子集。请注意这些条码是一样的,在中图中,字母D被忽略,2和4是一对数字。
^BD UPS MaxiCode 条码
^BD(UPS MarxiCode)建立一个二维的、眼睛可阅读(不是被扫描)的条码。这种符号由UPS(United Parcel Service,联邦包裹服务)开发。
代码由^FD语句如下,请注意该代码没有增加参数,所以代码不生成注释行。^BY命令对MaxiCode 无效,同样,^CV也无效。 例子: ^XA ^FO50,50 ^CVY
^BD^FH_^FD0018401523828021[(>_1E01_1D961Z00004951_1DUPSN_1D06X610_1D159_1D1234567_1D1/1_1D_1DY_1D634 ALPHA DR_1DPITTSBURGH_1DPA_1E_04^FS ^XZ
^BD命令的格式: ^BDm,n,t