ZPLII命令参考

更新时间:2024-02-02 07:16:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

ZPLII命令参考

^A 缩放/点阵字体

^A(可缩放/点阵字体)命令用于内置的True Type字体。可缩放字体(也可以认为是平滑矢量字体)能够以点为单位来对横向、纵向进行扩展。点阵字体由点阵象素组成,通常高度高度大于宽度。

内置的的缩放字体(A0=CG Triumvirate Bold Condensed)默认为不旋转,15点高,12点宽。打印机将从^A命令得到字体的旋转方向、宽度、高度等参数。

^A命令的格式: ^Af,o,h,w

^A

=

缩放/点阵字体

字体名

默认值:0(CG Triumvirate Bold Condensed)

其他值:A-Z,0-9(打印机的任何字体,包括下载字体,EPROM中储存的,当然这些字体必

须用^CW来定义为A-Z,0-9)

= 0

其他值: = h

默认值: 可接受的

值:

默认值:

点阵字体:

指定点阵字体的标准高度

10-1500点

字体方向

默认值:^FW默认值或上一个^FW的值。

N = 正常 (Normal) R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

字符高度 曲线字体:

15点或上一次^CF的值。

f =

其他值: = w

默认值: 可接受的

值:

默认值:

其他值:

标准高度高度的整数倍,2-10。

字符宽度 曲线字体:

12点或上一次^CV的值,也可以显示为0

10-1500点

点阵字体:

指定点阵字体的标准宽度 标准高度高度的整数倍,2-10。

^A@ 使用字体名来调用字体

^A@(使用字体名来调用字体)命令使用字体的全名,来调用字体

示例:

^XAA@N,25,25,B:CYRILLIC.FNT^FO100,20^FS ^FDThis is a test.^FS ^A@N,50,50^FO200,40^FS

^FDThis string uses the B:Cyrillic.FNT^FS

^XZ

第一行命令将查找字体卡/后备电池RAM(B:)中的“Cyrillic.FNT”字体,当字体找到后,命令将继续定义字符的方向,大小,然后在标签上打印字段数据“This is a test.” 一旦^A@定义了“Cyrillic.FNT”,它的作用将一直保持到下一个^A@命令定义一个新字体名时。

在本例中第二个^A@命令中,字符的大小增加了,设置了新的旋转方向,打印机用同样的字体打印出字段数据“This string use the B:Cyrillic.FNT.”

^A@o,h,w,n ^= A@

f =

缩放/点阵字体 使用字体名来调用字体

默认值:0(CG Triumvirate Bold Condensed)

其他值:A-Z,0-9(打印机的任何字体,包括下载字体,EPROM中储存的,当然这些字体必

须用^CW来字定义为A-Z,0-9)

= o

字体方向

其他值: = h

默认值:上一个^FW值,如省略则为N。

N = 正常 (Normal) R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom) 字符高度(以点为单位)

缩放字体:整个字符高度的点数,放大倍数不是必须的,因为字符是可缩放的。

点阵字体:数值将四舍五入为字体基本高度的整数倍,然后再除以基本高度,得到最接近的放

大倍数。

= w

字符宽度(以点为单位)

缩放字体:整个字符宽度的点数,放大倍数不是必须的,因为字符是可缩放的。

点阵字体:数值将四舍五入为字体基本高度的整数倍,然后再除以基本宽度,得到最接近的放

大倍数。

n =

字体名(按照ZPL命名惯例)

如果没有指定设备号的字母,默认的设备是RAM,或R:。如果不指定字体名,上一个^A@指

定的字体仍将发生作用。

^B1 Code 11条码

^B1(Code 11)也就是USD-8码。在Code 11条码中,每个字符由三个条的两个空组成,字符集为10个数字和破折号。 打印比例调整:2.0到3.0

^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度(如果旋转,则指长度) ^B1命令的格式: ^B1o,e,h,f,g

^B1

=

Code 11条码 字体方向

默认值:^FW默认值或上一个^FW的值。

N = 正常 (Normal) R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

= o

其他值:

e = = h

校验位

默认值:N(No) = 2位校验位 其他值: Y(Yes) = 1位校验位

条码高度 默认值:由^BY设置 其他值:1到9999点

f =

打印注释行 默认值: Y = 打印(Yes) 其他值:N = 不打印(No)

g = 将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

^B2 交叉二五码

^B2(交叉二五码)是高密度的、自校验的、连续的、数字的符号。它的每个字符由五个元素组成:五个条或五个空。这五个元素中,两个是宽的三个是窄的。条码由条和空交叉组成。

条码中,每个字符由三个条的两个空组成,字符集为10个数字和破折号。 打印比例调整:2.0到3.0

^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度(如果旋转,则指长度)

由定义可知,交叉二五码的位数必须是偶数。如果是奇数,则打印机自动在接收到的数据前加上0。

交叉二五码使用模10校验法。 字符集:数字0-10

^B2命令的格式: ^B2o,h,f,g,e

^B2

=

交叉二五码 字体方向

默认值:^FW默认值或上一个^FW的值。

N = 正常 (Normal) R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted)

= o

其他值:

= h

B = 顺时针旋转270度 (Bottom)

条码高度 默认值:由^BY设置 其他值:1到9999点

f =

打印注释行 默认值: Y = 打印(Yes) 其他值:N = 不打印(No)

g = 将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

e =

校验位

默认值:N(No) = 2位校验位 其他值: Y(Yes) = 1位校验位

^B3 Code 39码

^B3(Code 39码)是很多行业的标准,为美国国防部(DOD)所采用,是美国国家标准协会(ANSI)MH10.8-1983的三种识别符号之一。也叫作USD-3码或39码。 39码的每个字符由九个元素组成:五个条,四个空和字符间隙,这九个元素中,三个是宽的,六个是窄的。 打印比例调整:2.0到3.0

^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度(如果旋转,则指长度) 字符集为10个数字和破折号。

Code 39码可以兼容128位ASCII字符集,参看表A和表B 字符集:数字0-10,A-Z,space,-,。,$,/,+,%

^B3命令的格式: ^B3o,e,h,f,g

^B3

=

Code 39条码 字体方向

默认值:^FW默认值或上一个^FW的值。

N = 正常 (Normal) R = 顺时针旋转90度(Roated)

= o

其他值:

e = = h

I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

模43校验位

默认值:N(No) = 不打印校验位 其他值: Y(Yes) = 打印校验位

条码高度 默认值:由^BY设置 其他值:1到9999点

f =

打印注释行 默认值: Y = 打印(Yes) 其他值:N = 不打印(No)

g = 将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

Code 39码的起始位和终止位是自动生成的。 注意:模43校验位计算方法可参考附录D

^B4 Code 49码

^B4(Code 49码)是一种多行、连续、可变长的兼容128位全ASCII字符集的条码。它较完美的实现了在较小的空间存储了大量的数据。

128码一般2到8层,每层由左空白区、层起始符、4个符号字符、层终止符及右空白区组成。层与层之间由一个模块的层分隔条分隔。Code 49码的每个符号字符可表示2个基本字符集中的字符。各层能以任意次序扫描。

可以参考 Uniform Symbology Specification USS-9 可得到更多的信息。 打印比例是固定的。

^B4命令的格式: ^B4o,h,f,m

^B4

=

Code 49条码 字体方向

默认值:^FW默认值或上一个^FW的值。

其他

N = 正常 (Normal)

= o

值:

= h

R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

每层高度 定义:

默认值:由^BY值确认。

其他值:1到标签高度 注意:1并不是可取的数值

f =

默认

打印注释行

N = 不打印(No)

值:

其他

B = 打印在条码的下方(Below)

值:

m =

默认

值:

0 = 规范字母数字模式 1 = 多种可读字母数字

其他

值:

3 = 数字字母组 4 = 规则数字字母变化1 5 = 规则数字字母变化2 2 = 规则数字模式

A =自动模式。打印机分析数据字段并决定起始模式。 注意:当条码超过2层,注释行将越过右边缘。

开始模式

A = 打印在条码的上方(Above)

Code 49字段数据字符集

当采用起始模式为0到5时,^FD送往打印机的数据是基于Code49码的内部字符集的。它们在下图的第一列。字符:;<=>和?是Code 49码的控制字符。 使用模式0-5时,有效的字段数据都将被支持。变化字符由一个转换字符和一个非转换字符组成一个两个字符的序列。例如,打印小写的字符a,先送一个“SHIFT2”,接着再送“A”(>A),如果打印注释行,注释行上将出现小写的a。 注意:Code49码只使用大写字母。

如果检测到一个无效的字串,Code49格式化器将停止解释,并打印一个符号来代替这个无效的字串,下面就是一些无效的字串的例子。 用除了0到9或空格的任意字符结束数字模式

用了第四种模式但数据字段起始字符并不是SHIFT 1 字符集。 用了第五种模式但数据字段起始字符并不是SHIFT 2 字符集。 送了一个SHIFT 1字符但下一个字符不在SHIFT 1 字符集中。 送了一个SHIFT 2字符但下一个字符不在SHIFT 2 字符集中。 送了两个SHIFT 1 或SHIFT 2 控制字符。

使用Code 49 自动模式的优势

使用自动模式(默认值)可完全不用人工选择起始模式和人工控制字符变化。自动模式分接收的ASCII字符串,选择适当的模式,处理字符变化,以最大密度压缩数据。

注意:当大于等于5位数字时,只能选择数字模式,数字模式在数字字符串长度小于8时在与字母方式相比在条码所占空间并没有多大优势。

^B7 PDF417条码

^B7(PDF417)条码命令是一个二维、多层、连续、堆栈的符号码。这种条码可以在每个标签上打印超过1000个字节。它完美地适用于那些需要在读条码时读入大量信息的应用。

代码由3到90个堆栈层组成,每一层由开始、停止和符号字符构成的码词组成,每个码词包含四个条和四个空。每层最少必须有3个码词。 打印比例固定。

下面是一个PDF417条码的示例,这个示例显示一个如下所示的条码,^FD 和^FS 间的字符为条码右边的内容。

^B7命令的格式: ^B7o,h,s,c,r,t

^B7

=

PDF417条码 字体方向

默认值:^FW默认值或上一个^FW的值。

其他

值:

R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

N = 正常 (Normal)

= o

= h

每层高度

默认值:由^BY值确认。

其他值:1到标签高度 注意:1并不是可取的数值

这个数字表示错误检查和纠错级别,默认值是只检测错误(不纠错),提高安全级别将增加纠

s =

错能力,当然也增加了符号的大小) 默认值: 0 = 只检测错误。 其他值: 1到8。 纠错能力从小到大。

注意:当条码超过2层,注释行将越过右边缘。

编码的数据的列数

c =

用户可以指定每列的codeword来控制符号的宽度。

默认值:1:2 层/列 其他值:1到30

r = 编码的层数

用户可以指定层数来控制符号的高度。

默认值:1:2 层/列

其他值:3-90

示例:如果没有输入层数和列数,有72个码字,共6列12层(随着码字的不同,比例并不

是一定的。)

t = 截去层指示和停止区

默认值:N = 不截去(No),打印层指示和终止符

其他值:Y = 截去(No),不打印层指示和终止符

注意:

1. 2. 3. 4. 5.

如果层和列都是用户自定义的,它们的乘积必须小于928。 如果 层 × 列 >928将什么都不打印。 如果 码字总数 > 层 × 列 将不打印。 条码不能连续变化。

截短功能用在标签不会损坏的场合,右连的层指示和终止符可以减少一个单独的模块。截去与不截去的条码的不同请参见 下图。

使用PDF417时特殊的^BY命令

使用PDF417时^Byw,r,h的 参数意义如下: w r h

===

模块宽度(默认值=2),上限为10。 比例( 默认值=3)固定。在PDF417中没作用。

条码高度。整个条码的高度。如果PDF417在^B7中没有指定高度时,将使用这个值作为整个

条码的高度。

使用PDF417时特殊的^FD字符集

除了对打印机有特殊意义的那些字符外,所有ASCII字符都可送往打印机。在所有^FD语句中CR/LF已成为合法字符。用下列办法替换。

“\\&”

“\\(*)”

“\\\\”

(*)

=

回车/换行

软连字号(单词断开时使用),如果连字符放在一行的最后,它会被打印出来,如果它不是在

=

在一行的最后,将会被忽略。(在^B7中忽略) 字符\,(注意必须选择^CI13 ,使它能打印 \\)

==

任意字母/数字

^B8 EAN-8 条码

^B8(EAN-8)条码命令是EAN-13的缩短版,参见EAN-13可以得到更多的关于EAN的信息。EAN是国际物品编码协会(European Article Number Association)的字母的首位。

每个EAN-8的条码符号由四个元素组成:两个条,两个空。 打印比例固定。

^FD(Field data,字段数据)限制:必须7位,ZPLII自动在大于7位时截去超过的部分,在小于7位于在前面加上0。

注意:JAN-8(日本物品编码)系统是EAN-8中的特殊应用。在这种情况下,送给打印机的前两位数据永远是49。 EAN-8字符集:0到9。

^B8命令的格式: ^B8o,h,f,g

^B8

=

EAN-8条码 字体方向

默认值:^FW默认值或上一个^FW的值。

= o

其他

值:

= h

其他值:1到9999点

R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

条码高度 默认值:由^BY设置 N = 正常 (Normal)

f =

打印注释行 默认值: Y = 打印(Yes) 其他值:N = 不打印(No)

g = 将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

^B9 UPC-E 条码

^B9(UPC-E)条码命令是UPC系统的一种变化用于数字系统0,UPC是美国统一代码(Universal Product Code)的缩写。它是UPC-A带有压缩0的缩短版,这样打印空间就可以减少。通常用于印制小标签。

注意:使用带压缩0的UPC码,用户必须输入满10位的字符串,ZPLII将计算并打印出缩短版UPC。

每个UPC-E的条码符号由四个元素组成:两个条,两个空。 打印比例固定。

^FD(Field data,字段数据)限制:必须10位字符,5位制造商代码,5位产品代码。 UPC-9字符集:0到9。

如想进一步了解,可参阅UPC码规范。

^B9命令的格式: ^B9o,h,f,g,e

参数意义:

^B9 = UPC-E条码 ^=

UPC-E条码

B9

= o

其他

值:

= h

其他值:1到9999点

R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

条码高度 默认值:由^BY设置 N = 正常 (Normal) 字体方向

默认值:^FW默认值或上一个^FW的值。

f =

打印注释行 默认值: Y = 打印(Yes) 其他值:N = 不打印(No)

g = 将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

e =

打印校验位 默认值:Y = 打印(Yes)

其他值:N = 不打印(No)

四种规则适合产品编码:

1. 2.

如果厂商编码的最后编码为000,100,或200,有效的产品编码为00000-00999。 如果厂商编码的最后三位为300,400,500,600,700,800或900,有效的产品编码为00000-00099。 3.

如果厂商编码的最后两位为10,20,30,40,50,60,70,80或90,有效的产品编码为00000-00009。 4.

如果厂商编码的最后一位不为0,有效的产品编码为00005-00009。

^BA Code 93 条码

^BA(Code 93)条码命令是一种变长、连续型符号码。它可就用在许多同39码一样的场合。它使用128位全ASCII码,但由于ZPLII不支持ASCII的控制代码或ESC序列,所以它用以下字符来替代。该代码也叫USS-93。 控制码 Ctrl $ Ctrl % Ctrl / Ctrl + ZPL II表示 & % ( ) 每个Code 93码的字符由六个元素组成:三个条,三个空。所不同的是,可阅读的注释上将把所用的控制代码了打印出来。 注意:控制码是成对使用的,如须知详情,参阅93码规范。 打印比例固定。 ^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度(如果旋转,则指长度) 字符集为10个数字和破折号。 Code93字符集:0到9、A到Z,- . $ / + % & ?( ) space 如想进一步了解,可参阅UPC码规范。 ^BA命令的格式: ^BAo,h,f,g,e ^BA

=

Code 93条码 字体方向

默认值:^FW默认值或上一个^FW的值。

其他

值:

= h

其他值:1到9999点

R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

条码高度 默认值:由^BY设置 N = 正常 (Normal)

= o

f =

打印注释行

默认值: Y = 打印(Yes)

其他值:N = 不打印(No)

g =

将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

e =

打印校验位 默认值:Y = 打印(Yes)

其他值:N = 不打印(No)

Code 39码能够对前128位ASCII码字符集进行编码,请看下表。 93ASCII 码 ASCII 码 SP Space ! “ # $ % & ? ( ) * + , - . (A (B (C $ % (F (G (H (I (J + (L - . 0 1 2 3 4 5 6 7 8 9 : : < = > 93ASCII 93码 ASCII 码 0 1 2 3 4 5 6 7 8 9 (Z 'F 'G 'H 'I @ A B C D E F G H I J K L M N 93ASCII 码 'V A B C D E F G H I J K L M N P Q R S T U V W X Y Z [ \\ ] ^ 93ASCII 码 P Q R S T U V W X Y Z 'K 'L 'M 'N ' a b c d e f g h i j k l m n 93ASCII 码 'W )A )B )C )D )E )F )G )H )I )J )K )L )M )N p q r s t u v w x y z { | } ~ 93ASCII 码 )P )Q )R )S )T )U )V )W )X )Y )Z 'P 'Q 'R 'S 93NUL 'U DEL &P SOH &A DC1 &Q STX &B DC2 &R ETX &C DC3 &S EOT &D DC4 &T ENQ &E NAK &U ACK &F SYN &V BEL &G ETB &W BS &H CAN &X HT LF VT FF &I EM &Y &J SUB &Z &K ESC 'A &L FS 'B 'C 'D CR &M FS SO &N RS SI &O US 'E / / ? 'J O O 'O o )O DEL 'T

^BB CODEBLOCK 条码 ^BB(CODEBLOCK)是二维、多层、堆栈型符号码。它完美地用于需读取大量信息的应用中。 选择不同的模式,代码的层数也在1到44之间变化。每一层都有起始符与终止符。 打印比例:CODEBLOCK 是可变的,CODEBLOCK E 和CODEBLOCK F是固定的。 下面是一个打印CODEBLOCK条码的例子: ^BB命令的格式: ^BBo,h,s,c,r,m ^BB

=

CODEBLOCK条码

字体方向

默认值:^FW默认值或上一个^FW的值。

其他

值:

= h

其他值:2点到200点

R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

单独每层的条码高度

默认值:8点 N = 正常 (Normal)

= o

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来插入。

=80hex =83hex

=81hex =84hex

=82hex

对于那些ASCII码大于84hex的字符,由^CV语句决定不打印条码或打印错误信息。

CODEBLOCK F:使用除了对打印机有特殊含义的字符以外的全部的ASCII字符集。功能代码和CODE128子集A中NUL字符也可以用^FH来插入。

=80hex =83hex

=81hex =84hex

=82hex

对于那些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条码

字体方向

默认值:^FW默认值或上一个^FW的值。

其他

值:

= h

其他值:1到9999点

R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

条码高度 默认值:由^BY设置 N = 正常 (Normal)

= o

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码字符集 A代B代C代值 码 0 1 2 3 4 5 6 7 8 9 码 码 值 码 码 码 A代B代C代值 码 X Y Z [ \\ ] 码 X Y Z [ \\ ] 码 A代B代C代值 码 码 t u v w x y z { | } ~ 84 85 86 87 88 89 90 91 92 93 94 A代B代C代码 SP SP 00 28 < ! “ # ¥ % & ? ( ) ! 01 29 = “ 02 30 > < 28 56 = 29 57 > 30 58 ? 31 59 @ 32 60 A B C D E F 33 61 34 62 35 63 56 84 DC4 57 85 NAK 58 86 SYN 59 87 ETB # 03 31 ? ¥ 04 32 @ % 05 33 & 06 34 ? 07 35 A B C D E F 60 88 CAN 61 89 EM 62 90 SUB 63 91 EM FS GS RS ( 08 36 ) 09 37 * 10 38 36 64 NUL _ 64 92 37 65 SOH . 38 66 STX a 65 93 66 94 10 * 11 + 12 ' + 11 39 ' 12 40 G H I J K G H I J K 39 67 ETX b 40 68 EOT c 41 69 ENQ d 42 70 ACK e 43 71 BEL f 67 95 68 96 69 97 70 98 71 99 US DEL 95 96 97 98 99 CODE FNC3 FNC2 SHIFT Code C Code 13 - 14 15 . / - 13 41 . / 14 42 15 43 16 0 0 16 44 L L 44 72 BS g 72 100 B FNC4 B Code A FNC1 A子集起始符 B子集起始符 C子集起始符 17 18 19 20 21 22 23 24 25 26 1 2 3 4 5 6 7 8 9 : 1 2 3 4 5 6 7 8 9 : 17 45 18 46 19 47 20 48 21 49 22 50 23 51 24 52 25 53 26 54 M N O P Q R S T U V M N O P Q R S T U V 45 73 HT 46 74 LF h i j k l 73 101 FNC4 74 102 75 103 76 104 77 105 47 75 VT 48 76 FF 49 77 CR 50 78 SO 51 79 SI m 78 n 79 80 81 82 83 52 80 DLE o 53 81 DC1 p 54 82 DC2 q 27 ; ; 27 55 W W 55 83 DC3 r 选择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 >7 >8 >9 >: >;

十进制值 62 30 94 95 96 97 98 99 100 101 102 起始符 103 104 105

A子集字符

> USQ FNC3 FNC2 SHIFT CODE C CODE B FNC4 FNC1

B子集字符

> ~ DEL FNC3 FNC2 SHIFT CODE C FNC4 CODE A FNC1

C子集字符

CODE B CODE A 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

^BD

=

UPS MaxiCode条码

模式

默认

值: 其他

值:

4:标准符号,SEC

3:送达地的信息-数字字母型的邮政编码(美国以外)

2:送达地的信息-数字型邮政编码(美国)

= m

5:保留 6:阅读器编程

注意:模式0和模式1已过时。如果指定模式0,则默认为模式2,默认模式值为4,

模式5为整个EEC

版本14.8.0, 18.8.0, 21.8.0, 23.8.1, 23.8.2, 25.8.1,25.8.2, 22.8.5中:

5=Full EEC

n = 符号数 默认值:1

其他值:可以在结构化的文档后增加1到8个符号。

t =

符号总数 默认值:1

其他值:1到8,表示这个序列中的符号总数。

使用MaxiCode时^FD的注意事项

^FD分成两个部分:高优先信息(High Priority Message,hpm)和低优先信息(lpm).高优先信息有两种:一种是美国的邮政编码,另一种是非美国的邮政编码。符合这两种编码语法的高优先信息可以被精确地显示出来,否则就会生成错误信息。

^FD格式如下: ^FD

^FD

=

数据字段

高优先信息(只应用在模式2和模式3中)

=

如非特别指出,有效字符是0123456789。

美国的邮政编码(模式2)

是 aaabbbcccccdddd

aaa bbb ccccc dddd

= 三位数的服务的类别 = 三位数的地区代码 = 五位数的邮递区号 = 四位的扩展邮递区号

注意:如果没有扩展邮递区号,必须输入四位的邮政编码。

美国以外地区的邮递编码(模式3) 是 aaabbbcccccc

= 三位数的服务的类别

aaa

bbb cccccc

=

信息头 传送数据格式

跟踪号* SCAC*

= 三位数的国家地区代码

= 六位数的邮递区号(0到9,或A到Z) 低优先信息(只应用于模式2和模式3中)

[)>RS

01Gs96

跟踪号 Gs Gs<托运人号> Gs<收货日> Gs<出货标识符> Gs<箱号/总数>

Gs<重量> Gs<确认值> Gs<街道地址> Gs<城市名> Gs<州名>

Rs EOT

*UPS自定的数据。

UPS托运人号 儒略历收货日 出货标识符

箱号 本箱重量 地址确认

出货街道地址

出货城市 出货州 Rs 信息结束

注意:Gs用来分隔信息中的字段。(0x1D) Rs用来分隔格式类型。(0x1E) Eot是结束传输字符(End of Text)(0x04)

特别注意:

?

的格式只有在模式2和模式3中应用。在模式4中,不管数据在^FD中是怎样定义的,都将把在条码中打印出来。

? UPS需要某些数据来表现出一种定义的风格。用UPS风格格式化MaxiCode数据,用大写字符。用UPS风格填充的字段时,其数据类型和长度必须如UPS的<条码指南>所指定。

? 如果不选择一种模式,默认的模式为模式2,如果低使用美国以外的邮政编码,你可能会得到一个错误信息(无效的字符或字符太短)。使用美国以外的编码,请选用模式3。

? ?

ZPL不会根据邮递区号自动更改模式。

使用特殊字符(如Gs,Rs,Eot等),使用^FH命令来告诉ZPL使用在下划线(_)后的是十六进制数值。

^BE EAN-13 条码

^BE(EAN-8)条码命令是类似UPC-A的条码,它在欧州和日本的零售商场得到非常广泛的应用。

EAN-13条码有12位数据,比UPC-A多一个字符,EAN-13兼容UPC-A,但有13位数字,左手区为6位数字。第13位是校验位。 打印比例固定。

^FD(Field data,字段数据)限制:必须12位,ZPLII自动在大于12位时截去超过的部分,在小于12位时在前面加上0。

EAN-13使用模10法生成校验位进行错误检测。(参见附录C)

注意:JAN-13(日本物品编码)系统是EAN-8中的特殊应用。在这种情况下,送给 打印机的前两位数据永远是49。 EAN-13字符集:0到9。

^BE命令的格式: ^BEo,h,f,g

^BE

=

EAN-13条码 字体方向

默认值:^FW默认值或上一个^FW的值。

其他

值:

= h

其他值:1到9999点

R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

条码高度 默认值:由^BY设置 N = 正常 (Normal)

= o

f =

打印注释行 默认值: Y = 打印(Yes)

其他值:N = 不打印(No)

g =

将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

^BF 微型PDF417 条码

^BF(微型PDF417)条码是二维、多层、连续、堆栈型和PDF417一样,不同之处在于PDF417使用17个模块宽的起始符终止符和左右层指示。而微型PDF417使用独特的10个模块宽的层地址符来缩短整个条码的宽度。并允许层高尽量低于2X。 微型PDF417设计用于需要增加单位面积的效率,但又不需PDF417那样大的数据容量。它最多只打印44层 乘4列的数据。

^FD(Field data,字段数据)和^FH(Field Hex)限制:250个7-比特的文本字符,150个8比特的十六进制字符,或366个4比特的数字字符。

如果想要得到更详细的信息,请参考(国际符号规范-微型PDF417),AIM国际有限公司。(AIM International ,Inc.)

示例:ZPL及其输出 ^XA^BY6^BFN,8,3

^FDABCDEFGHIJKLMNOPQRSTUVWXYZ ^XZ

^BF命令的格式: ^BFo,h,m

^BF

=

微型PDF417条码

字体方向

默认值:^FW默认值或上一个^FW的值。

其他

值:

= h

R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

条码高度

N = 正常 (Normal)

= o

默认值:由^BY设置,如果^BY没有设定,则为10点

其他值:1到9999点,超出范围则设为最接近的值

= m

可选择:0-33(看下表)

数据数据模式 列 0 1 2 3 4 5 6 1 1 1 1 1 1 2 层 11 14 17 20 24 28 8 7 8 9 10 11 12 13 模式 列 2 2 2 2 2 2 3 层 11 14 17 20 23 26 6 14 15 16 17 18 19 20 数据数据模式 列 3 3 3 3 3 3 3 层 8 10 12 15 20 26 32 21 22 23 24 25 26 27 数据数据模式 列 3 3 4 4 4 4 4 层 38 44 6 8 10 12 15 28 29 30 31 32 33 数据数据模式 列 4 4 4 4 4 4 层 20 26 32 38 44 4 数据数据模式

默认值: 0(查表)

^BI 工业二五码 ^BI(工业二五码)条码是自校验,连续的数字型条码。工业25码是25家族码中最长的条码。在ZPLII中,25码家族还有交叉25码和标准25码。 在工业25码中,所有信息由条组成。宽条是窄条的宽度的3倍。 打印比例:2.0到3.0。 ^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度确定(如果旋转,则指长度) 字符集:数字0-9,Start(自动),stop(自动)。 ^BI命令的格式: ^BIo,h,f,g ^BI

=

工业二五码 字体方向

默认值:^FW默认值或上一个^FW的值。

N = 正常 (Normal)

= o

其他值:

= h

R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

条码高度 默认值:由^BY设置 其他值:1到9999点

f =

打印注释行 默认值: Y = 打印(Yes) 其他值:N = 不打印(No)

g = 将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

^BJ 标准二五码

^BJ(标准二五码)条码是自校验,连续的数字型条码。

在标准25码中,所有信息由条组成。每个条之间的宽度为2倍的条宽,宽条是窄条的宽度的3倍。

打印比例:2.0到3.0。

^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度确定(如果旋转,则指长度)

字符集:数字0-9,Start(内部使用),stop(内部使用)。

^BJ命令的格式: ^BJo,h,f,g

^BI

=

标准二五码 字体方向

默认值:^FW默认值或上一个^FW的值。

N = 正常 (Normal) R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

条码高度

= o

其他值: = h

默认值:由^BY设置

其他值:1到9999点

f =

打印注释行 默认值: Y = 打印(Yes) 其他值:N = 不打印(No)

g = 将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

^BK ANSI Codebar条码

^BK(ANSI库德巴) 条码通常广泛地用于图书馆、药品工业和快递公司的应用中。这种条码也叫作USD-4码,NW-7或27码。最初是开发来作为价格标牌用的。

每个字符由7个元素组成。四个条和三个空。它有两个字符集:(1)数字,(2)控制符,起始符(- : . $ / +) 停止符(A B C D E T N *)。 打印比例:2.0:1到3.0:1。

^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度(如果旋转,则指长度)

字符集:数字0-9,Start(内部使用),stop(内部使用)。

^BK命令的格式: ^BKo,e,h,f,g,k,i

^B3

=

Code 39条码 字体方向

默认值:^FW默认值或上一个^FW的值。

N = 正常 (Normal) R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

模43校验位

默认值:N(No) = 不打印校验位 其他值: Y(Yes) = 打印校验位

条码高度

= o

其他值: e = = h

默认值:由^BY设置

其他值:1到9999点

f =

打印注释行 默认值: Y = 打印(Yes) 其他值:N = 不打印(No)

g = 将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

k =

起始符 默认值:A

其他值:B,C,D,E,N,T,*

l =

停止符 默认值:A

其他值:B,C,D,E,N,T,*

参数k和l 确定起始符和终止符。

^BL LOGMARS条码

^BL(LOGMARS) 条码在美国国防部中作为39码的一种特殊应用。LOGMARS是后勤自动标识与识读符号应用(Logistics Applications of Automated Marking and Reading Symbols)的缩写。 打印比例:2.0:1到3.0:1。

^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度确定。(如果旋转,则指长度) 字符集:同39码。

如想知道更多的信息,请参阅LOGMARS条码规范。

注意:LOGMARS条码必定使用模43法进行校验位的计算。如想知道算法,请参考附录D

^BL命令的格式: ^BLo,h,g

^B3

=

LOGMARS 条码

字体方向

= o

其他值: = h

默认值:^FW默认值或上一个^FW的值。

N = 正常 (Normal) R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

条码高度 默认值:由^BY设置 其他值:1到9999点

g = 将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

^BM MSI 条码

^BM(MSI) 条码是一脉冲宽度调制的,连续的,无自校验的条码。它是Plessey条码的一种变形。

每个字符由8个元素组成。四个条和四个相邻的空。 打印比例:2.0:1到3.0:1。

^FD(Field Data:数据字段)限制:参数e为B时1到14位数字,C或D时1到13位数字,参数e为A时,加上静区。

^BM命令的格式: ^BMo,e,h,f,g,h

^B3

=

MSI条码 字体方向

默认值:^FW默认值或上一个^FW的值。

N = 正常 (Normal) R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

选择校验位 默认值:B = 1 Mod 10

= o

其他值: e =

其他值:A = 无校验位

C = 2 Mod 10

D = 1 Mod 10 和 1 Mod 11

= h

其他值:1到9999点

条码高度 默认值:由^BY设置

f =

打印注释行 默认值: Y = 打印(Yes) 其他值:N = 不打印(No)

g = 将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

^BP Plessey 条码

^BP(Plessey) 条码是脉冲宽度调制的,连续的,无自校验的条码。它是Plessey条码的一种变形。

每个字符由8个元素组成。四个条和四个相邻的空。 打印比例:2.0:1到3.0:1。 字符集:0-9,A-Z。

^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度确定。(如果旋转,则指长度)

^BP命令的格式: ^BPo,e,h,f,g

^BP

=

Plessey条码 字体方向

默认值:^FW默认值或上一个^FW的值。

N = 正常 (Normal) R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted)

= o

其他值:

e =

B = 顺时针旋转270度 (Bottom) 打印校验位(CRC8 2位) 默认值: N = 不打印(No)

其他值:Y = 打印(Yes)

= h

其他值:1到9999点

条码高度 默认值:由^BY设置

f =

打印注释行 默认值: Y = 打印(Yes) 其他值:N = 不打印(No)

g = 将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

^BQ QR条码

(^BQ)以后再译。(二维码)

^BS UPC/EAN扩展

^BS(UPC/EAN扩展)是出版商的ISBN(国际标准书号)的2到5位的附加数字。它是ISBN(国际标准书号)的扩展。这些扩展字符作为一个独立的条码来打印。 由于扫描器设计用来扫描单独的UPC码,尽管扩展符兼容UPC码,但还是不能作为UPC码的一部分被扫描器识别。因为UPC/EAN扩展码有一个警戒字符(左边,编码为1011),这个字符用来表示分隔。 打印比例:固定。 字符集:0-9

^FD(Field Data:数据字段)限制:2个或5个字符,ZPLII自动截短或在左边添加0,直到满足要求。

^BS命令的格式: ^BSo,h,f,g

^BS

=

UPC/EAN扩展条码

字体方向

默认值:^FW默认值或上一个^FW的值。

= o

其他值: = h

N = 正常 (Normal) R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

条码高度 默认值:由^BY设置 其他值:1到9999点

f =

打印注释行 默认值: Y = 打印(Yes) 其他值:N = 不打印(No)

g = 将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

UPC码,选择宽度为2个模式(默认值),打印位置为 正常 旋转 UPC-A X轴偏移 209点 0 Y轴偏移 21点 209点 UPC-E X轴偏移 122点 0 Y轴偏移 21点 122点 还有,条码必须比主条码小27点(0.135英寸),当UPC码高度为183点时(0.9英寸)扩展条码高度为155点。 下图是如何建立一个值为7000002198,扩展码为04414的UPC-A码。

^BU UPC-A条码 ^BU(UPC-A)条码是固定长度、数字、连续型的条码,它主要用于零售业的包装标签。UPC-A条码有11个数据字符。 一个8点的打印头能够按77%的比例打印条码。 要想知道更多,可参考UPC-A条码规范。 打印比例:固定。 字符集:0-9 ^FD(Field Data:数据字段)限制:11个字符,ZPLII自动截短或在左边添加0,直到满足要求。 UPC-A码使用模10法来计算生成校验位。(参见附录C) ^BU命令的格式: ^BUo,h,f,g,e

^BU

=

UPC-A扩展条码

字体方向

默认值:^FW默认值或上一个^FW的值。

其他

值:

= h

其他值:1到9999点

R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

条码高度 默认值:由^BY设置 N = 正常 (Normal)

= o

f =

打印注释行 默认值: Y = 打印(Yes) 其他值:N = 不打印(No)

g = 将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

e =

打印UCC校验位 默认值:Y = 打印(Yes)

其他值:N = 不打印(No)

注释行风格由^BY确定的窄条的宽度决定。

6点打印头:2点或以上用OCR-B字体来打印注释行,1点用A字体打印。 8点打印头:3点或以上用OCR-B字体来打印注释行,1点或1点用A字体打印。 12点打印头:4点或以上用OCR-B字体来打印注释行,1,2,3点用A字体打印。

^BX 数据矩阵条码

^BX(数据矩阵)条码是一个二维的矩阵条码。 其他以后再译

^BY 条码字段默认参数设置 ^BY命令用来改变窄元素(窄条或窄空)的宽度模块。宽条与窄条的比例与条码的高度。它在一个标签格式中经常是必须的。 比例 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 1 2:1 2:1 2:1 2:1 2:1 2:1 2:1 2:1 2:1 2:1 3:1 2 2:1 2:1 2:1 2:1 2:1 3 2:1 2:1 2:1 4 2:1 2:1 2:1 模块宽度(点) 5 2:1 2:1 6 2:1 2:1 7 2:1 2:1 8 2:1 2:1 9 2:1 2:1 10 2:1 2.1:1 2.2:1 2.16:1 2.1:1 2.12:1 2.1:1 2.2:1 2.3:1 2.25:1 2.2:1 2.16:1 2.28:1 2.25:1 2.2:1 2.3:1 2.3:1 2.25:1 2.4:1 2.3:1 2.28:1 2.37:1 2.3:1 2.4:1 2.5:1 2.3:1 2.5:1 2.4:1 2.5:1 2.4:1 2.5:1 2.4:1 2.5:1 2.5:1 2.3:1 2.5:1 2.6:1 2.5:1 2.57:1 2.5:1 2.5:1 2.6:1 2.5:1 2.6:1 2.5:1 2.6:1 2.6:1 2.57:1 2.65:1 2.6:1 2.7:1 2.5:1 2.6:1 2.75:1 2.8:1 2.6:1 2.7:1 2.75:1 2.7:1 2.8:1 2.5:1 2.6:1 2.75:1 2.8:1 2.8:1 2.87:1 2.87:1 2.8:1 2.9:1 3:1 3:1 3:1 3:1 3:1 3:1 3:1 3:1 3:1 ^BY命令的格式: ^Byw,r,h ^BY = w =

改变条码默认参数 模块(窄条)宽 开机初始化值:2点

可接受的数值:1-10点

r =

宽条与窄条的比例 开机初始化值:3.0

可接受的数值:2.0到3.0,0.1的增量(对固定比例的条码无效)

h =

条码高度 开机初始化值:10点

可接受的数值:1点到标签高度。

参数r,是真实的比例是和点数w有关的,关系可见上表。

例如,选择w为9,r为2.4时,窄条宽度为9点,宽条为9X2.4=21.6点,然而,打印机将自动四舍五入到最接近的点,也就是说,宽条的度度为22点。 这样,条码的比例是2.44(22除以9),它的比例接近于2.4。

条码的模块宽和高(参数w和h)在任何时候可以用 ^BY修改来对后面的条码产生作用。

注意:

1. 2.

在一个标签格式中一旦使用了^BY命令后,它将一直作用到下一个^BY命令时。 参数h是其他条码命令忽略高度参数时,从^BY所给的h中获得高度值。

^BZ 邮政网条码

^BZ(POSTNET,邮政网)条码用于自动分检信件。POSTNET条码一系列5个条,2高3短,对应数字0到9。 打印比例:固定。 字符集:0-9

^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度(如果旋转,则指长度)

注意:如果^CV(代码有效性)被激活,数据字段长度必须为5,9,或11位。如果是6位长的话,也可以用空格和“-”

^BZ命令的格式: ^BZo,h,f,g

^BZ

=

POSTNET条码 字体方向

默认值:^FW默认值或上一个^FW的值。

其他

值:

= h

其他值:1到9999点

R = 顺时针旋转90度(Roated) I = 顺时针旋转180度(Inverted) B = 顺时针旋转270度 (Bottom)

条码高度 默认值:由^BY设置 N = 正常 (Normal)

= o

f =

打印注释行

默认值:N = 不打印(No) 其他值:Y = 打印(Yes)

g = 将注释行打印在条码上方 默认值: N = 不打印在条码上方

其他值: Y = 打印在条码上方

^CC,~CC 改变格式指令前缀

^CC,~CC(改变脱字符)指令是用于改变指令前缀。缺省前缀是脱字符(^)。 ^CC,~CC指令格式 ^CCx,~CCx ^CC,= ~CC

x =

任何ASCII字符

缺省值:要求有参数。如不用参数,下一字符接收后作为新的前缀字符。

改变脱字符

注意:不要设任何和另一个前缀相同的值。

^CD,~CD 改变ZPL分隔符

^CD,~CD(改变分隔符)指令是用于改变ZPLII分隔符。这符号是用来分离输入ZPL指令中几个参数。缺省的分隔符(,)。

^CD,~CD指令格式 ^CDx,~CDx ^CD,= ~CD

x =

任何ASCII字符

缺省值:要求有参数。如不用参数,下一字符接收后作为新的前缀字符。

改变分隔符

^CF 改变字符字体默认字体

你可用^CF(改变字母缺省字体)指令,使你程序变得更简单,

指令格式 ^CFf, h, w

^CF

=

改变缺省字体 指定默认字体

A = 字体A (开机初始化值) 其它值:B到H,和0~9

f =

(任何在打印机的字体,包括下载字体,EPROM贮存字体和字体A-Z和1-9可通过^CW选

择)

b = c =

单个字符点高度

可接受的数值:0~9999 开机初始化值 =9

单个字符点宽度

可接受的数值:0~9999 开机初始化值 =5

参数f指定所有字符字段的缺省字体。参数h指定对每一字符字段的缺省高度,参数指定每一字符字段的缺省宽度。

缺省字体字母是A,如果不改变缺省字体字母(^CF指令),也不用任何段指令字母(^Af)或输入一个非法字体值,将用字体A打印数据。

定义仅仅高或宽,放大比例由参数定义。如值被定义,上次所给高和宽^CF值或缺省^CF值。如果两个都没有定义,使用最后一个^CF值给出的值或默认的^CF值给出高度和宽度。

^CI 国际字符设置

斑马打印机可打印各种国际字符字体:美国1,美国2,英国,荷兰,丹麦,挪威,瑞典,芬兰,德国,法国1,法国2,意大利,西班牙等。ZPLII遵循国际字符的ISO标准。

^CI(改变国际字体)指令允许你调用国际字符设置给你打印。你可混合表中字符设置。以下说明可用国际字符设置。调用一个国际字符设置指令是:

^CI x

^CI

=

改变国际字体 希望的字符设置

0 = USA1 (开机初始化设置)

x =

其它可接受的值 1=美国2, 2=英国,

3=荷兰, 4=丹麦/挪威, 5=瑞典/芬兰, 6=德国, 7=法国1, 8=法国2, 9=意大利, 10= 西斑牙, 11=其它, 12=日本, 13=IBM 850码

在版本X.7.0,16.5.0中有效的: 14=16位(Unicode)编码的曲线字库。* 15=Shift-JIS,日本字库的曲线字库。**

16= EUC-KANJI的曲线字库。 17= Unicode(Unicode编码的字体)。

18-23 = 保留。

24= 8位存取的Unicode编码字体。 开机初始化值= 上次永久保存的值。

*编码由转换表(*.DAT)控制。该表可由ZTOOLS对TrueType 字库进行编码时生成。

**Shift-JIS编码转换Shift-JIS 为JIS,然后在JIS.DAT中查找JIS编码。这个表必须当前正使用Shift-JIS。

^CO 使用缓冲

^CO(使用缓存)指令用于改变字符缓冲大小。撟址捍鏀(这里指的是缓冲区)的定义是保留为接收和贮存曲线字符的DRAM的一部分。所有打印机默认使用22K缓冲。如果不改变缓存的大小,最大单个字符尺寸是450点 X 450点。

斑马打印机有二种字库类型。点阵和曲线字库。字母,数字,和符号在点阵字体有一固定尺寸。如10点,12点,14点等。曲线字体是没固定尺寸,它们的大小是由用户选择的。 由于点阵字体的尺寸是固定的,它们可快速打印到标签上。而曲线字体要慢一点,因为每个字符在打印到标签前需要生成必要的基本字。调用贮存在摶撼鍞中的曲线字体可以加快速度。

贮存在缓存里字符的数量取决于二个因素;缓存(内容)的大小和贮存字符(点数)的尺寸。点阵尺寸大,缓冲空间用得就多。缺省的缓存贮存每一个标签上的需要用的曲线字体的字符。如果有同样的字符,相同旋转的方向和大小,它可以快速从缓存中恢复。 很快,打印缓存就会满。就会发生新的字符把打印缓冲里已存在的字符清除。清除存在的字符是由他们使用的次数决定。这里自动做的。例如,一个只用过一次的28点的“Q”便是一个将从CACHE中清除的候选者。

最大尺寸单字1500点X 1500点缓存,要求300K缓存。

当缓存太少时,小的字符可以打印,大的字符将不能打印。如有可能,增加缓存容量。 注意:缓存容量可按需要定义。当重定义时任何在缓冲里字符被丢失。使用点阵,图象,下载字体等会使缓存空间减少。

^CO指令格式 ^COa, b,c

^CO

=

使用缓存 使用缓存 缺省值:Y=使用

a =

其它值:N=不使用

b =

加到缓存里附加内存千字节数 默认值:40K(如没不指定数字)

版本16.5.0中有效:

其他值:300(使用Kanji字体时推荐)

c =

缓存类型 16.5.0版本有效:

默认值:0 = 高速缓存(一般字体) 1 = 内部缓存(Kanji字体推荐)

注意:Kanji需要一个内部的比一般的缓存大得多的工作缓存,因为大多数的字体不需要这么大的缓存,所以这是一个可选择的配置。使用Kanji字体将大量地减少打印机用于打印标签、图形、字体和格式的内存。

以下是用^CO指令例子 重定义打印缓存为62K

^COY 40K(缺省内存)+22K(已存在的缓存)= 62K 重定义打印缓冲到100K

^COY 78K(增加内存)+22K(已存在的缓冲)=100K

打印缓冲执行注意事项

在打印大字符时,由^CO指令把内存增加到缓存不是物理地加到打印机已有的22K缓冲上的。在以上第二个例子中,100K缓冲实际是两块存贮器,22K和78K。 当大字符需要连续的内存块。一个字符需要90K缓冲就不能完全贮存于100中K的内存中。因为100K缓冲中的两个内存块都不够大。如果要打印大字符时,^CO指令将按你需要的实际缓存容量设。

增加缓冲尺寸将改进打印曲线字体的打印。然而,如缓存容量太大,字符太多,性能也会下降。因为通过搜索缓冲所有字符花去很多时间,性能将会得不到改善。

^CT,~CT 改变命令指令前缀

^CT,~CT(改变分隔符)指令是用于改变指令前缀。缺省前缀是(~)。 ^CT,~CT指令格式 ^CTx,~CTx

^CT,~CT

=

改变鄂氏符 任何ASCII字符

缺省值:要求有参数。如不用参数,下一字符接收后作为新的前缀字符。

x =

用脱字符(^)指令,你必须用格式括号指令(^XA和^XZ)围住。例如,改变格式指令前缀为斜杠(/)并改变分隔符为(+),你的程序行应是这样:

^XA^CD+^CC/^XZ

你改变格式指令前缀后,你将用/XA和/XZ括号围上程序。

^CV 代码确认

^CV(代码确认)是一个开关,它打开或关闭代码确认功能。当代码确认打开时,所有的条码数据都将检查以下几种错误情况:

? ? ? ? ?

字符不在字符集中 校验位不正确

数据字段太长(字符太多) 数据字段太短(字符太少)

参数串包含了不正确的参数或丢失参数

检测到非法字符时,打印机将打印一个错误信息和代码来代替代码图像。信息以“INVALID-X”的方式显示,X是以下的错误代码:

C = 字符不在字符集中 E = 校验位不正确

L = 数据字段太长(字符太多) S = 数据字段太短(字符太少)

P = 参数串包含了不正确的参数或丢失参数

一旦打开了条码确认功能,^CV将一直保持作用到下一个^CV关闭条码确认功能。本命令不永久保存。

注:如果存在不止一个错误,显示第一个错误。

^CV命令的格式是: ^CVa ^CV

=

条码确认 代码确认

a =

默认值:N=不检测

其他值:Y= 检测

以下例子是^CV如何工作的。第一个示例打印出了正确的条码,其他的示例打出了错误信息。

^CW 字体标识

所有机内字体有一字符标识如A、B、C等。^CW(字体标识)指令分配单个字母字符(A到Z和0到9)用于下载到DRAM R:的字体,内存卡 B:,EPROM E:,或内建的 Z:。

如果字符和机内字体符相同,则下载字体代替机内字体。当格式里调用机内字体时,下载字体将被打印在标签上。如替换了机内字体,这改变起作用到到关机。

如给的字符是不同的,下载字体是作为一种增加的字体。所给的字体将保存直到新的指令输入或打印机关机。

^CW指令格式是 ^Cwa,d,f

^CW

=

字体标识。ZPLII调用时使用新的字体。

替代机内字体字母或加入新字体。 (要求输入一个字符)

贮存字体源设备 (附加。缺省是R:)

下载字体名替换机内字体或增加字体。(扩展固定在.FNT。)

缺省:Unknown

a =

d = f =

以下是用^CW指令一些例子

将MYFONT.FNT贮存在DRAM中,格式称为字体A: ^XA^CWA,R:MYFONT.FNT^XZ

将MYFONT.FNT贮存在DRAM中,增加字体Q: ^XA^CWQ,R:MYFONT.FNT^XZ

将NEWFONT.FNT贮存在DRAM中,格式称为F:

^XA^CWF,R:MYFONT.FNT^XZ

~DB 下载点阵字体

~DB(下载点阵字体)指令设置打印机按收下载点阵字体,定义原始单元尺寸,基准线,空间大小和版权。

这指令由两部份组成,一个ZPLII指令定义字体和数据结构段内每个字符字体。 以下是一个使用~DB命令的例子。它将头两个字符下载到DRAM中。

~DBR:TIMES.FNT,N,5,24,3,10,2,ZEBRA 1992, #0025.5.16.2.5.18.

00FF 00FF FF00 FF00 FFFF

#0037.4.24.3.6.26. 00FF00 0F00F0 0F00F0

00FF00

~DB指令格式

~DBd,o.x, a, h, w, base, space, #char, ?, DATA

~DB

=

设置打印机接受下载字体。

贮存字体到目标设备。(固定,始终是DRAM(R:))

字体名,1-8字符, 默认值: 缺省 = Unknown

扩展名,3字符 ( 固定的,始终是:FNT)

字体旋转

缺省

值:

R = 90,

其他

值:

B = 270

h = w = base = space = #char =

? =

目前仅支持N。 最大单元的高度(点) 最大单元的宽度(点) 单元项的点到字符基准线

空的宽度或字间距

字体字符数(这必须在下载字符数已做) 版权者(最大文本串长度是63字符)

ASCII数据结构定义字体每个字符。#符号表示字符码参数被分隔。字符码是1到4允许国

DATA =

际字符集下载到打印机。

I = 180, N = 不旋转

d =

o = x = a =

数据结构是

#××××.h.w.x.y.i.data

=

××××

h = w =

x = y = i = data =

x方向(点) y方向(点)

排版移动替换(宽度包括字体字符间的间隙)

十六进制点阵描述

字符代码

点阵高度(点) 点阵宽度(点)

^DD 下载直接点阵

^DD(下载直接点阵)命令下载一个点阵到打印机,直接打印,并不保存在内存中。 注:参见~DG(下载图形),可得到更详细的关于如何计算本命令的参数的资料。

~DD的格式: ~DD,a,b,DATA

^DD

=

下载直接点阵 图形的字节总数

默认值:没有-如果没有指定本参数,整个命令将被忽略。

其他值:相应的图形大小的字节数。

范围:1到99999。超出范围时设为最接近的上下限值。

b =

每行字节总数

默认值:没有-如果没有指定本参数,整个命令将被忽略。

其他值:相应的图形大小的字节数。

范围:1到99999。超出范围时设为最接近的上下限值。

DATA =

定义图像的十六进制的ASCII字符串

CR和LF可以加在需要的地方。每个字节用两位ASCII码来表示的数字对必须和前面所指定 的数据相符,超过指定数据的数据将被忽略。逗号将置当前行为空行(用00填充),这样就

可以使你减少传送数据。~DN命令或其他~命令将会中断下载。

a =

默认值:没有,必须指定

范围:00到FF

~DE 下载编码

标准的Windows TrueType字体的编码是Unicode。因此,ZPL字段数据必须将其他编码转换成Unicode。它需要用^DE(下载编码)命令下载一个对照表。这些表由Ztools for Windows提供。

目前,字体转换只支JIS和Shift-JIS到Unicode。

~DE的格式: ~DEn,s,DATA

~DE

=

下载极大的Unicode TrueType的编码表。

表名

默认值:没有名字 =本命令被忽略

其他值:输入一个带标识符的目标设备的表名(最大为8位长度)

目标设备的标识符: R:= RAM 内存 B:= 内存卡

s =

表的大小

默认值:没有数值 = 本命令被忽略

其他值;输入所占内存的字节数

DATA =

数据串

默认值:没有数值 = 本命令被忽略

其他值:用ASCII码表达的HEX值(2HEX/字节)

2位的数值必须匹配表的大小。(一个字节数不足的数值会使整个命令被忽略)

= n

例子:

~DER:JIS.DAT,27848,300021213001...

(27848个2位的HEX值)

^DF 下载格式

^DF (下载格式)命令以文本格式保存ZPLII格式指令,以后可以用^XF加上变量来调用。保存的格式中可以包含字段数(^FN),以便将来参考调用。

将格式保存节省了传输时间,但并没有节省格式化时间,因为ZPL II是作为文本串保存的,在打印时仍须进行格式化。

如果忽略映象名,默认的名称和扩展名为UNKNOW.ZPL。在^XA后马上输入^DF指令,输入的格式指令就会被保存起来。

注:一个包含^DF的格式不会被打印出来。 ^DF命令的格式 ^DFd:o.x

^DF

=

下载和保存格式

保存映象的目标设备名 (固定,永远为DRAM R:) 映象名,1到8个字母或数字(默认的名字为UNKNOW)

扩展名,3位字母或数字(永远是.ZPL)

= d o = x =

以下有一个使用^DF的示范,它将ZPLII文本字串保存到DRAM中,保存的文本串叫STOREFMT.ZPL。

^XA

^DFR:STOREFMT.ZPL^FS ^FO25,25^AD,36,20^FN1^FS ^FO135,25^AD,36,20^FN2^FS ^FO25,75^AB,11,7^FDBUILT BY ^FS ^FO25,100^AD,18,10^FN1^FS ^XZ

~DG 下载图象

~DG(下载图象)执行以下功能。

1. 2. 3. 4.

置打印机为图象模式。

命名图形。(这个名字将用来在标签中调用) 定义图象尺寸

下载十六进制字符串到打印机

注意:

1. 2. 3.

为使打印机明白,使用图形名时将以空格、句点、或扩展名结束 避免偶然被空格替换,不要在图象名中用空格。不同图象用不同名字。 如二个图象用了同一名送到打印机。第一个图象被删除而由第二个图象代替。

~DG指令格式 ~DGd:o.x,t,w,DATA

~DG

=

设置打印机为下载图形模式 贮存图象的目标设备。 缺省值:R: (DRAM)

其它值:B: (内存选件)

o = x = t = w = DATA =

图象名,1-8字符,

(缺省时,用UNKNOWN作字体名) 扩展名,3字符 ( 固定的,始终是:GRF)

图象总的字节数 每行字节数

ASCII十六进制串图象定义

= d

如目标名省略,就用UNKNOWN.GRF作为字图象名。数据串使用ASCII十六进制串图象定义,每个字符表示水平方向的四个点。

以下是一个用~DG指令加载图象到DRAM的例子。贮存图象名叫SAMPLE.GRF。

~DGR:SAMPLE.GRF,00080,010, FFFFFFFFFFFFFFFFFFFF 8000FFFF0000FFFF0001 8000FFFF0000FFFF0001 8000FFFF0000FFFF0001 FFFF0000FFFF0000FFFF FFFF0000FFFF0000FFFF FFFF0000FFFF0000FFFF

FFFFFFFFFFFFFFFFFFFF

参数t(图形总字节数)用以下公式计算:

X (毫米)×打印机分辨率(点/毫米) × Y(毫米) ×打印机分辨(点/毫米)/8(点/字节)= 总字节

X 是单位毫米的图象宽度。Y是单位毫米的图象高度。点/毫米打印机编程的打印分辨率。

例如,确定图象8毫米宽,16毫米高,打印分辨率8点/毫米的正确t参数其公式是: 8×8×16×8/8=1024字节

参数w(每行字节数)用以下公式计算:

X (毫米)×打印机分辨率(点/毫米) /8(点/字节)= 每行字节数 x是单位毫米的图象宽充,点/毫米是打印机偏移打印分辨率。

例如,确定图象8毫米宽,打印分辨率8点/毫米的正确w参数,其公式是: 8×8/8 = 8字节

注意:

1. 2.

所有字节中一行的字节 w是t参数计算的第一个值

参数是一串十六进制数作为图象表示送打印机。每一十六进制字符代表水平方向四个点。如图象前四个点是白的,后四个点是黑的。二进制码的点00001111。十六进制表示二进制值将是OF。完整的图象码就是这样。完整图象被送打印机是一长连续十六制值。

对~DG和~DB指令选择数据压缩方案。

斑马打印机有一数魏数据压缩方案。在~DG和~DB指令中这方案减少下载图象和点阵字体实际数据字节数和总的时间。

下面数1,2,3,4,5,……19代表在后面十六进制值(注:值从G开始O到O和A到F已经在十六进制值是使用)

G H 1

2

I 3

J 4

K 5

L 6

M N O 7

8

P

Q R

S

T

U

V

W

X

Y

9 10 11 12 13 14 15 16 17 18 19

例如,送M6到打印机表示如下十六进制数据。 6666666

M的值是7,所以传送7个十六进制的6

g

h

i

j

k

l

m n

o

p

q

r

s

t

u

v

w

x

y

z

20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400

例如:送-hB到打印机表示送十六进制数据

BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

40

h值是40,所以传送40 个十六进制的B。

重复值

几个重复值一起使用得到任何需要值,“vMB”和“MvB”一样,都是传送327个十六进制的B到打印机。

把逗号(,)填进行,表示该行右边,都是0, 感叹号(!)填进行,表示该行右边都是1, 冒号 (:)表示重复上一行。

解码和参数t字节数打印后,打印机返回原来的打印模式。

减少下载图象时间

当用~DG指令时,这方法减少实际送打印机的数据字节数,在下面图6.1和6.2可看到。

在图6.2,如果十六进制串都是到零(0)结束。一个逗号(,)可以替代所有的零。如果十六进制串是奇数个0结束,需加一个零和逗号。感叹号(!)和冒号(:)在用法如前。

警告:在你编辑器文本行将不同于ZPLII点的行。编辑器将字把点行包裹起来。ZPLII跳过文本行结束(如:回车和换行字符)。

注:在图6.1和6.2回车已经被插入每个点行的结束。

~DN 取消下载图象

^DG在解码和打印完参数t的字节后,打印机返回一般模式。用~DN(取消下载图象)指令。图象模式可以取消原来打印操作恢复。

~DN指令格式 ~DN

~DN:取消下载图象

注意:任何^或~指令将结束下载。

~DS 下载曲线字体

~DS(下载曲线字体)指令是用于设置打印机接收下载曲线字体和定义字体尺寸的字节数。

~DS命令和所需参数,转换用户输入字体结果到斑马打印机。这转换用斑马应用程序工具称为ZFONT。斑马公司有此应用程序。

~DS命令的格式 ~DSd:o.x,s,DATA

~DS

=

设打印机接收下载曲线字库 贮存图象的目标设备。 缺省值:R: (DRAM)

其它值:B: (内存选件)

o = x = s = DATA =

字体名,1-8字符,

(缺省时,用UNKNOWN作字体名) 扩展名,3字符 ( 固定的,始终是:FNT)

字库长度的字节数,这数字由ZFONT程序产生,不能被改变。

ASCII十六进制字串的字体定义。

= d

数据由ZFONT程序产生。不会被改变。

以下是转换曲线字体前三行下载到打印机例子。如有需要源和目标设备名可以被改变。

~DSB:CGTIMES.FNT,37080, 00FF00FF00FF00FF

FF0AECB28FFF00FF

注:下载曲线字体不能进行完整性检查。如被损坏,打印机将产生无法产生预料的结果。

~DT 下载TrueType字体

必须用Ztools for Windows 来转换TrueType 字体为斑马打印机的可下载格式。这个程序建立一个含有~DT(下载TrueType字体)的命令,一旦下载完毕,字体将象其他软件一样使用。

~DT命令的格式 ~DTf,s,DATA

~DT

=

下载曲线字库 字体名

默认值:没有名字 = 本命令将被忽略

其他值:在目标设备后输入TrueType字体名。(最长8位)

目标设备: R: = RAM 内存 B: = 内存卡

s =

字体长度的字节数,

默认值: 没有 = 如果没有,本命令将被忽略

其他值:输入字体的斑马可下载格式所需的内存的字节数。

DATA =

ASCII十六进制字串的字体定义。 默认值 :没有,本命令将被忽略。

其他值:用ASCII表示的十六进制数。(2位字符/字节) 必须匹配参数S所给的值,否则,本命令将被忽略。

f =

例子:

~DTR:FONT,52010,00AF01B0C65E......(52010个2位的HEX值)

本文来源:https://www.bwwdw.com/article/8e2w.html

Top