斑马打印机 ZPL II 语言编程
ZPL II 语言
^BY3,2.4,50
条形码系统设定[预置]
^B3N,Y,,Y
Code 39 条形码
^FDABC123^FS
条形码数据
^XZ
结束标签格式
ZPL II 图形图像打印
打印方框和线条
^GB Graphic Box
w = 宽度 h = 高度 t = 边框厚度 c = 颜色 r = 制圆的度数
打印圆形图案
调用保存的格式,变量打印
下载格式
^XA ^DFR:FORMAT^FS ^LH30,30 ^FO100,100^AF^FN1^FS ^FO100,250^B3,,60,,^FN2^FS ^XZ
下载时打印机Data灯会闪,但不会有什么动作
调用格式
^XA ^XFR:FORMAT^FS ^FN1^FDZEBRA^FS ^FN2^FDAAA001^FS ^XZ ^XA ^XFR:FORMAT^FS ^FN1^FDBEARS^FS ^FN2^FDZZZ999^FS ^XZ
ZEBRA
TECHNOLOGIES CORP
PRINTED BY:
SHIRLEY DING
设置打印量,打印比率和打印定方位
^XA
开始标签格式
^LH360,30
原始位置
^FO20,10^AF^FDZEBRA^FS 正文位置
^FO20,60^B3^FDAAA001^FS 条形码位置
^POI
设置打印定方位(0或180度)
ZEBRA
TECHNOLOGIES CORP
PRINTEDห้องสมุดไป่ตู้BY:
调用保存的标签模板 ^IL
^IL Image Load
功能:调用已保存的标签格式
调用保存的标签模板 ^IL
斑马条码打印机使用手册
Zebra 105SE/SL中文使用手册1、打印机的参数斑马公司推出的105SE/SL打印机是一款经济实用的条码条印机,它具有较多的打分辨率选择,除了应用最广的203dpi标准配置外,还有152dpi打印头,特别适用于打印UPC码和EAU码,它可以达到令人满意的100%放大率,当需要在一张标签上打印很多信息时,可以选择300dpi的打印头,特别适用于打印高密度条码和明快的图像以及小字号的文字。
Zebra 105SL热传感打印机为一种工业级,金属壳条形码打印机,它是斑马公司经典机型105SE的换代机型.在105SE 基础上增加了液晶面板控制,ZebraLink网络连接以及更大的内容空间等多项功能。
105SL适用于任何场合的标签打印,如:钢厂的金属卷、码头上的货盘、锯木场中的木材/工厂的零件以及仓贮打印标签。
.全金属外壳,可长时间工作。
.特有的后备电池(选件)可以使打印机关机后仍能将图文长时间保存下来。
.内置回绕器(选件)可以将直径8英寸的标签回卷,以防沾染灰尘。
.32位RISC微处理器,当需要打印尺寸且有复杂图形的标签时,内存可扩至1MB。
.快速的32位微处理器,配以简单易用的ZPII编程语言,可以做到一边打印一边排版,令您在很短的时间内.打印出更多的标签。
.自动测纸、可升级字体、彩色可操作部件、Zebra的E3打印元件控制技术、反射式传感器。
1.1 Zebra 105SL打印机参数表.打印机规格打印方式:热转/热敏方式(不用碳带)最大打印宽度:104mm最大打印长度:(203dpi)2692mm或(300dpi)165mm(标准内存)分辨率:203dpi(8点/mm);300dpi(12点/mm)打印速度:(203dpi)203mm/秒或(300dpi)203mm/秒.物理特性:长度:495mm 宽度:283mm 高度:394mm结构:全金属结构,大视窗净重:25kg.产品特性:标准内存:3MB DRAM 750K FLASH;扩展内存到8Mb32位RISC微处理器自动测纸可升级字体彩色可操作部件 Zebra 的E3打印元件控制技术穿透式传感器选配:回卷器、切刀、底纸剥离器.软件:ZPL II 编程语言.使用环境:操作温度:5—40度存储温度:-40—60度操作湿度:20%—80% 存储湿度:5%—85%.其它参数:.电气参数:内置自动转换电源90V/265V 48—62Hz 最大电流5A.通迅接口:RS232/422/485 接口及标准并口:IEEE1284双向并口准并口.标签:标签宽度:25.4mm-114mm标签最大直径:外径203mm,内径76mm标签纸类型:连续型、模切型、缺口型、黑标型、穿口型标签间隙:2mm—4mm 标签厚度:0.058-0.25mm最小长度:撕裂方式:16mm;剥离方式:25mm:切刀方式:38mm.碳带:标准长度:300m、450m,提供2:1标签卷宽度:51—4.311mm 卷轴内径:25mm 卷轴最大直径:81mm1.2 打印机支持的条码条码比例:2:1, 7:3, 5:2, 3:1 LSBT-128codebar(支持的条码比例尺2:1,3:1) LOGMARSMaxiCode codeblock code11Micro pdfcode 39(支持的条码比例尺2:1,3:1) MSIcode93 PDF-417(二维码)code128(A,B,C) PlessyDataMatrix PostnetEAN-3,EAN-13,EAN extensions QR-CodeIndustrial2of5 Standard 2 of 5Interleaved 2 of 5(支持的条码比例尺2:1,3:1)UPC-1,UPC-3,UPCv扩展2 打印机的使用2.1 打印机电源电源开关位于打印机后面,而且可以看见有一个230V或110V的拨动开关。
ZPL+II中文编程
ZPLII命令参考^A(可缩放/点阵字体)命令用于内置的True Type字体可缩放字体(也可以认为是平滑矢量字体)能够以点为单位来对横向纵向进行扩展点阵字体由点阵象素组成,通常高度高度大于宽度内置的的缩放字体(A0=CG Triumvirate Bold Condensed)默认为不旋转,15点高,12点宽打印机将从^A命令得到字体的旋转方向宽度高度等参数^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缩放字体:整个字符高度的点数,放大倍数不是必须的,因为字符是可缩放的点阵字体:数值将四舍五入为字体基本高度的整数倍,然后再除以基本高度,得到最接近的放大倍数缩放字体:整个字符宽度的点数,放大倍数不是必须的,因为字符是可缩放的点阵字体:数值将四舍五入为字体基本高度的整数倍,然后再除以基本宽度,得到最接近的放大倍数^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^B2 交叉二五码^B2(交叉二五码)是高密度的自校验的连续的数字的符号它的每个字符由五个元素组成:五个条或五个空这五个元素中,两个是宽的三个是窄的条码由条和空交叉组成条码中,每个字符由三个条的两个空组成,字符集为10个数字和破折号打印比例调整:2.0到3.0^FD(Field Data:数据字段)限制:100+字符实际总数据由^BY的比例与标签的宽度(如果旋转,则指长度)由定义可知,交叉二五码的位数必须是偶数如果是奇数,则打印机自动在接收到的数据前加上0交叉二五码使用模10校验法字符集:数字0-10^B2命令的格式:^B2o,h,f,g,e^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,gCode 39码的起始位和终止位是自动生成的注意:模43校验位计算方法可参考附录D^B4 Code 49码^B4(Code 49码)是一种多行连续可变长的兼容128位全ASCII字符集的条码它较完美的实现了在较小的空间存储了大量的数据128码一般2到8层,每层由左空白区层起始符4个符号字符层终止符及右空白区组成层与层之间由一个模块的层分隔条分隔Code 49码的每个符号字符可表示2个基本字符集中的字符各层能以任意次序扫描可以参考Uniform Symbology Specification USS-9 可得到更多的信息打印比例是固定的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,ts=这个数字表示错误检查和纠错级别,默认值是只检测错误(不纠错),提高安全级别将增加纠错能力,当然也增加了符号的大小)默认值:0 =只检测错误其他值:1到8 纠错能力从小到大用户可以指定层数来控制符号的高度默认值:1:2 层/列其他值:3-90示例:如果没有输入层数和列数,有72个码字,共6列12层(随着码字的不同,比例并不是一定的)如果层和列都是用户自定义的,它们的乘积必须小于928 如果层×列>928将什么都不打印如果码字总数>层×列将不打印截短功能用在标签不会损坏的场合,右连的层指示和终止符可以减少一个单独的模块截去与不截去的条码的不同请参见下图使用PDF417时特殊的^BY命令使用PDF417时^Byw,r,h的参数意义如下:使用PDF417时特殊的^FD字符集除了对打印机有特殊意义的那些字符外,所有ASCII字符都可送往打印机在所有^FD语句中CR/LF已成为合法字符用下列办法替换\(*)=软连字号(单词断开时使用),如果连字符放在一行的最后,它会被打印出来,如果它不是在在一行的最后,将会被忽略(在^B7中忽略)^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中的特殊应用在这种情况下,送给打印机的前两位数据永远是49EAN-8字符集:0到9^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 = UPC-E条码如果厂商编码的最后编码为000,100,或200,有效的产品编码为00000-00999 如果厂商编码的最后三位为300,400,500,600,700,800或900,有效的产品编码为00000-00099 如果厂商编码的最后两位为10,20,30,40,50,60,70,80或90,有效的产品编码为00000-00009 如果厂商编码的最后一位不为0,有效的产品编码为00005-00009^BA Code 93 条码^BA(Code 93)条码命令是一种变长连续型符号码它可就用在许多同39码一样的场合它使用128位全ASCII码,但由于ZPLII不支持ASCII的控制代码或ESC序列,所以它用以下字符来替代该代码也叫USS-93每个Code 93码的字符由六个元素组成:三个条,三个空所不同的是,可阅读的注释上将把所用的控制代码了打印出来注意:控制码是成对使用的,如须知详情,参阅93码规范打印比例固定^FD(Field Data:数据字段)限制:100+字符实际总数据由^BY的比例与标签的宽度(如果旋转,则指长度)字符集为10个数字和破折号Code93字符集:0到9A到Z,-. $ / + % & ?( ) space如想进一步了解,可参阅UPC码规范^BA命令的格式:^BAo,h,f,g,eCode 39码能够对前128位ASCII码字符集进行编码,请看下表^BB CODEBLOCK 条码^BB(CODEBLOCK)是二维多层堆栈型符号码它完美地用于需读取大量信息的应用中选择不同的模式,代码的层数也在1到44之间变化每一层都有起始符与终止符打印比例:CODEBLOCK 是可变的,CODEBLOCK E 和CODEBLOCK F是固定的下面是一个打印CODEBLOCK条码的例子:^BB命令的格式:^BBo,h,s,c,r,m默认值: Y = 打印校验位(Y es)其他值:N = 不打印校验位(No)注意:只有参数m 设为CODEBLOCK A时才能改变安全级别如果只是单层就不生成校验位用户可以指定条码的层数来控制条码的高度范围:CODEBLOCK A:1 到22CODEBLOCK E F:2到44如果条码的层数和每层的字符数没有定义,将打印一个单层如果没有指定每层的字符数,条码的字符数小于每层的字符数,将打印一个单层如果没有指定每层的字符数,数据字段除以层数就是每层的字符数如果指定了两个参数,字段数据发须小于它们的乘积如果大于它们的乘积,既不打印条码了不显示错误代码使用CODEBLOCK时^BY命令的注意事项使用^BB代码时,^BYw,r,h各参数的意义如下:w = 模块宽度(默认值=2),最大为10r = 比例(默认值=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默认值:N = 不选择模式其他值:U = UCC匹配模式(^FD或^SN后必须有19位数字)用FNC1值自动选择C子集128码字符集选择UCC匹配模式的特殊情况CODE 128子集CODE128有三种子集:A子集,B子集,C子集子集可以有两种方法选择在一个条码内部改变子集,要将转换符号置于字段数据的合适的位置这样新的子集将一直作用到遇到下一个转换符为止(例如:在C子集中,数据字段中的>7将转换为A子集)下表显示CODE128的转换代码与三个子集的起始代码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_1 D1234567_1D1/1_1D_1DY_1D634 ALPHA DR_1DPITTSBURGH_1DPA_1E_04^FS^XZ注意:模式0和模式1已过时如果指定模式0,则默认为模式2,默认模式值为4,模式5为整个EEC使用MaxiCode时^FD的注意事项^FD分成两个部分:高优先信息(High Priority Message,hpm)和低优先信息(lpm).高优先信息有两种:一种是美国的邮政编码,另一种是非美国的邮政编码符合这两种编码语法的高优先信息可以被精确地显示出来,否则就会生成错误信息^FD格式如下:^FD<hpm><lpm><hpm>=注意:如果没有扩展邮递区号,必须输入四位的邮政编码美国以外地区的邮递编码(模式3)<hpm> 是aaabbbcccccc*UPS自定的数据注意:Gs用来分隔信息中的字段(0x1D)Rs用来分隔格式类型(0x1E)Eot是结束传输字符(End of Text)(0x04)特别注意:<hpm>和<lpm>的格式只有在模式2和模式3中应用在模式4中,不管数据在^FD 中是怎样定义的,都将把在条码中打印出来UPS需要某些数据来表现出一种定义的风格用UPS风格格式化MaxiCode数据,用大写字符用UPS风格填充<lpm>的字段时,其数据类型和长度必须如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位时在前面加上0EAN-13使用模10法生成校验位进行错误检测(参见附录C)注意:JAN-13(日本物品编码)系统是EAN-8中的特殊应用在这种情况下,送给打印机的前两位数据永远是49EAN-13字符集:0到9^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比特的数字字符如果想要得到更详细的信息,请参考<International Symbology Specification-Micro PDF417>(国际符号规范-微型PDF417),AIM国际有限公司(AIM International ,Inc.)示例:ZPL及其输出^XA^BY6^BFN,8,3^FDABCDEFGHIJKLMNOPQRSTUVWXYZ^XZ^BI 工业二五码^BI(工业二五码)条码是自校验,连续的数字型条码工业25码是25家族码中最长的条码在ZPLII中,25码家族还有交叉25码和标准25码在工业25码中,所有信息由条组成宽条是窄条的宽度的3倍打印比例:2.0到3.0^FD(Field Data:数据字段)限制:100+字符实际总数据由^BY的比例与标签的宽度确定(如果旋转,则指长度)字符集:数字0-9,Start(自动),stop(自动)^BJ 标准二五码^BJ(标准二五码)条码是自校验,连续的数字型条码在标准25码中,所有信息由条组成每个条之间的宽度为2倍的条宽,宽条是窄条的宽度的3倍打印比例:2.0到3.0^FD(Field Data:数据字段)限制:100+字符实际总数据由^BY的比例与标签的宽度确定(如果旋转,则指长度)字符集:数字0-9,Start(内部使用),stop(内部使用)^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参数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 ^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^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^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,直到满足要求UPC码,选择宽度为2个模式(默认值),打印位置为还有,条码必须比主条码小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注释行风格由^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命令用来改变窄元素(窄条或窄空)的宽度模块宽条与窄条的比例与条码的高度它在一个标签格式中经常是必须的参数r,是真实的比例是和点数w有关的,关系可见上表例如,选择w为9,r为2.4时,窄条宽度为9点,宽条为9X2.4=21.6点,然而,打印机将自动四舍五入到最接近的点,也就是说,宽条的度度为22点这样,条码的比例是2.44(22除以9),它的比例接近于2.4条码的模块宽和高(参数w和h)在任何时候可以用^BY修改来对后面的条码产生作用在一个标签格式中一旦使用了^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位长的话,也可以用空格和-^CC,~CC 改变格式指令前缀^CC,~CC(改变脱字符)指令是用于改变指令前缀缺省前缀是脱字符(^)^CC,~CC指令格式^CCx,~CCx注意:不要设任何和另一个前缀相同的值^CD,~CD 改变ZPL分隔符^CD,~CD(改变分隔符)指令是用于改变ZPLII分隔符这符号是用来分离输入ZPL指令中几个参数缺省的分隔符(,)^CD,~CD指令格式^CDx,~CDx^CF 改变字符字体默认字体你可用^CF(改变字母缺省字体)指令,使你程序变得更简单,参数f指定所有字符字段的缺省字体参数h指定对每一字符字段的缺省高度,参数指定每一字符字段的缺省宽度缺省字体字母是A,如果不改变缺省字体字母(^CF指令),也不用任何段指令字母(^Af)或输入一个非法字体值,将用字体A打印数据定义仅仅高或宽,放大比例由参数定义如值被定义,上次所给高和宽^CF值或缺省^CF值如果两个都没有定义,使用最后一个^CF值给出的值或默认的^CF值给出高度和宽度^CI 国际字符设置斑马打印机可打印各种国际字符字体:美国1,美国2,英国,荷兰,丹麦,挪威,瑞典,芬兰,德国,法国1,法国2,意大利,西班牙等ZPLII遵循国际字符的ISO标准^CI(改变国际字体)指令允许你调用国际字符设置给你打印你可混合表中字符设置以下说明可用国际字符设置调用一个国际字符设置指令是:^CI x0 = USA1 (开机初始化设置)其它可接受的值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编码字体开机初始化值= 上次永久保存的值*编码由转换表(*.DA T)控制该表可由ZTOOLS对TrueType 字库进行编码时生成**Shift-JIS编码转换Shift-JIS 为JIS,然后在JIS.DA T中查找JIS编码这个表必须当前正使用Shift-JIS^CO 使用缓冲^CO(使用缓存)指令用于改变字符缓冲大小撟址捍鏀(这里指的是缓冲区)的定义是保留为接收和贮存曲线字符的DRAM的一部分所有打印机默认使用22K缓冲如果不改变缓存的大小,最大单个字符尺寸是450点X 450点斑马打印机有二种字库类型点阵和曲线字库字母,数字,和符号在点阵字体有一固定尺寸如10点,12点,14点等曲线字体是没固定尺寸,它们的大小是由用户选择的由于点阵字体的尺寸是固定的,它们可快速打印到标签上而曲线字体要慢一点,因为每个字符在打印到标签前需要生成必要的基本字调用贮存在摶撼鍞中的曲线字体可以加快速度贮存在缓存里字符的数量取决于二个因素;缓存(内容)的大小和贮存字符(点数)的尺寸点阵尺寸大,缓冲空间用得就多缺省的缓存贮存每一个标签上的需要用的曲线字体的字符如果有同样的字符,相同旋转的方向和大小,它可以快速从缓存中恢复很快,打印缓存就会满就会发生新的字符把打印缓冲里已存在的字符清除清除存在的字符是由他们使用的次数决定这里自动做的例如,一个只用过一次的28点的Q便是一个将从CACHE中清除的候选者最大尺寸单字1500点X 1500点缓存,要求300K缓存当缓存太少时,小的字符可以打印,大的字符将不能打印如有可能,增加缓存容量注意:缓存容量可按需要定义当重定义时任何在缓冲里字符被丢失使用点阵,图象,下载字体等会使缓存空间减少注意:Kanji需要一个内部的比一般的缓存大得多的工作缓存,因为大多数的字体不需要这么大的缓存,所以这是一个可选择的配置使用Kanji字体将大量地减少打印机用于打印标签图形字体和格式的内存以下是用^CO指令例子重定义打印缓存为62K^COY 40K(缺省内存)+22K(已存在的缓存)= 62K。
使用斑马语言(ZPL)打印汉字
if (string.IsNullOrEmpty(data))
return null;
var txt = new TextBox();
txt.Text = data;
txt.Font = f;
//txt.PreferredSize.Height只能取到一行的高度(连边距)
var g = Graphics.FromImage(image);
var b = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Black, Color.Black, 1.2f, true);
string zpl = string.Format("~DGR:imgName.GRF,{0},{1},{2}", t, w, imgCode);
其中, img是上述CreateImage函数的返回结果. imgCode是ConvertImageToCode函数的返回结果. imgName是随便起的图片名字.
{
b++;
}
n++;
if (j == (img.Size.Width - 1))
{
if (n < 8)
所以总的过程为: 将需要打印的汉字在服务器上通过GDI画成图片, 然后将图片按照条码打印机的要求序列化成字符串上传到打印机, 最后通过打印图片命令将其打印出来.
具体的实现方式为:
1. 绘图.
protected Bitmap CreateImage(string data, Font f)
VB使用ZPL指令控制zebra打印机案例
VB使用ZPL指令控制zebra打印机案例Dim i As Integer, j As Integer, nCount As Integer, col_count As Long Dim zpl_head(12) As String, zpl_foot As String Dim cell_width_ini As Integer, cell_height_ini(3) As IntegerDim tmp_MAC() As String, tmp_SN() As String Dim zpl_text_MAC() As String, zpl_text_SN() As StringDim zpl_barcode_MAC() As String, zpl_barcode_SN() As StringDim cbuf As String * 21000'**************************'设置打印开始信息'**************************zpl_head(0) = "^XA" '起始符zpl_head(1) = "^LH0,0" '参考点zpl_head(2) = "^FO540,60^GB0,1850,7^FS" '竖线zpl_head(3) = "^FO1025,60^GB0,1850,7^FS" '竖线zpl_head(4) = "^FO10,242^GB1100,0,7^FS" '横线zpl_head(5) = "^FO10,422^GB1100,0,7^FS" '横线zpl_head(6) = "^FO10,602^GB1100,0,7^FS" '横线zpl_head(7) = "^FO10,782^GB1100,0,7^FS" '横线zpl_head(8) = "^FO10,962^GB1100,0,7^FS" '横线zpl_head(9) = "^FO10,1152^GB1100,0,7^FS" '横线zpl_head(10) = "^FO10,1332^GB1100,0,7^FS" '横线zpl_head(11) = "^FO10,1512^GB1100,0,7^FS" '横线zpl_head(12) = "^FO10,1692^GB1100,0,7^FS" '横线'*******************************' 计算列循环次数,各数组下标'*******************************col_count = (Grid1.Rows - 1) / 10 + CInt(CBool((Grid1.Rows - 1) Mod 10)) * (-1)ReDim tmp_MAC(Grid1.Rows - 1)ReDim tmp_SN(Grid1.Rows - 1)ReDim zpl_text_MAC(Grid1.Rows - 1)ReDim zpl_text_SN(Grid1.Rows - 1)ReDim zpl_barcode_MAC(Grid1.Rows - 1)ReDim zpl_barcode_SN(Grid1.Rows - 1)'*******************************'设置标签体'*******************************'单元初始X坐标cell_width_ini = 97For i = 1 To col_count'单元初始Y坐标cell_height_ini(0) = 88cell_height_ini(1) = 116cell_height_ini(2) = 147cell_height_ini(3) = 180For j = 1 To 10'第一单元:MAC文字nCount = GETFONTHEX("MAC:" & Grid1.TextMatrix((i - 1) * 10 + j, 0), "verdana", "MAC" & CStr((i - 1) * 10 + j), 0, 32, 16, 0, 0, cbuf) tmp_MAC((i - 1) * 10 + j) = Mid(cbuf, 1, nCount)zpl_text_MAC((i - 1) * 10 + j) = "^FO" & CStr(cell_width_ini) & "," & CStr(cell_height_ini(0)) & "^XG" & "MAC" & CStr((i - 1) * 10 + j) & ",1,1^FS"'第二单元:MAC条码zpl_barcode_MAC((i - 1) * 10 + j) = "^FO" & CStr(cell_width_ini) & "," & CStr(cell_height_ini(1)) & "^BCN,33,N,N^FD" & Grid1.TextMatrix((i - 1) * 10 + j, 0) & "^BY1.87,5.369^FS"'第三单元:SN文字nCount = GETFONTHEX("S/N:" & Grid1.TextMatrix((i - 1) * 10 + j, 1), "verdana", "SN" & CStr((i - 1) * 10 + j), 0, 32, 16, 0, 0, cbuf) tmp_SN((i - 1) * 10 + j) = Mid(cbuf, 1, nCount)zpl_text_SN((i - 1) * 10 + j) = "^FO" & CStr(cell_width_ini) & "," & CStr(cell_height_ini(2)) & "^XG" & "SN" & CStr((i - 1) * 10 + j) &",1,1^FS"'第四单元:SN条码zpl_barcode_SN((i - 1) * 10 + j) = "^FO" & CStr(cell_width_ini) & "," & CStr(cell_height_ini(3)) & "^BCN,33,N,N^FD" & Grid1.TextMatrix((i - 1) * 10 + j, 1) & "^BY1.87,5.369^FS"If (i - 1) * 10 + j = Grid1.Rows - 1 ThenExit ForEnd Ifcell_height_ini(0) = cell_height_ini(0) + 180cell_height_ini(1) = cell_height_ini(1) + 180cell_height_ini(2) = cell_height_ini(2) + 180cell_height_ini(3) = cell_height_ini(3) + 180Next jcell_width_ini = cell_width_ini + 500Next i'*******************************'设置标签结束信息'*******************************zpl_foot = "^XZ"'*******************************'输出信息'*******************************Dim str1 As String, str2 As String, str3 As String, str4 As String str1 = ""str2 = ""str3 = ""str4 = ""For i = 0 To 12str1 = str1 & zpl_head(i) & Chr(13) NextFor i = 0 To Grid1.Rows - 1str2 = str2 & tmp_MAC(i) & Chr(13)str3 = str3 & tmp_SN(i) & Chr(13) NextFor i = 0 To Grid1.Rows - 1str4 = str4 & zpl_text_MAC(i) & Chr(13)str4 = str4 & zpl_barcode_MAC(i) & Chr(13)str4 = str4 & zpl_text_SN(i) & Chr(13)str4 = str4 & zpl_barcode_SN(i) & Chr(13) Next。
斑马打印机 ZPL II 语言编程
指令种类
格式指令(format commands)
» 以^开始 » 用于设定标签格式与数据 » 多条格式指令按顺序执行
控制指令(control commands)
» 以~开始 » 迫使打印机立即执行某一个指定的操作 » 可以中断打印机数据缓冲器中的格式指令
格式指令
格式指令有以下分类
格式框架指令-format bracket commands 标签定义指令-label definition commands 字段定义指令-field definition commands 字段默认指令-field default commands 格式默认指令-format default commands 格式旋转指令-format rotation commands 打印机控制指令-printer control commands 文字数字字段指令-alphanumeric field commands 条形码字段指令-bar code field commands 图像指令-graphic image commands
如果一个格式里面有多个^PO指令,只有最后一个才有效。 只有接收到下一个^PO指令时,前一个^PO指令才失效
一行:
^XA^FO100,75^BY3^B3N,N,100,Y,N^FD123ABC^XZ 使用默认参数: ^XA^FO100,75^BY3^B3,,100^FD123ABC^XZ
文本打印
打印文本
开始标签格式 ^XA 原点位置 ^LH0,0 文本位置 ^FO203,203 字体类型与大小 ^ABN,30,30 打印的正文字符串 ^FDExample^FS 结束标签格式 ^XZ
Zebra条码打印机编程命令
Zebra条码打印机编程命令条码打印机是一种专业的打印设备,其打印实现方式与普通的激光、喷墨或针式打印机有所不同,世界各大条码打印设备厂商生产的打印机都采用了各自不同的打印语言以实现其打印,如Zebra系列的ZPL,Eltron的EPL,Datamax的DPL等,与普通打印方式相比,采用打印语言的优点在于速度快,精度高,但由于没有统一的标准打印语言,使得用户在使用不同机器时会产生一定的麻烦,好在各种打印语言的语法比较类似,上手也是比较简单的。
目前的条码打印主要采用专业的商用条码打印软件,使用方便、简单,功能强大,且提供了对各类型条码打印设备的接口,适用于需经常变换打印格式、内容的用户,如专业印刷厂商等,但此类软件的价格也较昂贵。
对于一些采用了企业管理系统的用户,其打印标签的格式通常已较固定,因此可在软件系统中嵌入条码打印部分。
一般来说,可采用以下几种方式:直接使用条码打印机的条码语言编写程序;采用各种专业控件提供商编制的条码控件;使用一些高级条码打印软件,如CodeSoft、LabelView提供的ActiveX技术等。
这几种方式在方便性、精确性及经济性等方面各有其优缺点,用户可根据需要自行选择,这里,主要对第一种方式给出较为详细的使用方法。
ZPLII是Zebra系列打印机的打印语言,在ZPL的基础上做了一定的更新,其语法通俗易懂,在这里对其条码、文字、图形打印部分给予一一介绍。
基本标签示例:^XA‘标签格式开始命令^LH30,30‘Label Home position设置标签起始参考点坐标为30,30,默认为0,0^FO20,10^AD^FDEXAMPLE^FS‘^FO20,10-设置数据域起始坐标,距参考点20,10^AD-设定字体为D(内部字体)^FD-数据域开始命令EXAMPLE实际打印内容^FS-数据域分隔命令^FO20,60^B3^FDAAA001^FS ‘^B3-选择条码类型为39码^XZ ‘标签格式结束命令由上例可见,ZPLII的命令使用还是相当简单的。
ZPL2_Zebra 打印机语言_简易指令集
^FOx,y 指令名称: 定义相对于其实位置指令 指令作用: (x,y)为坐标值.
如 :^FO20,30 表 示 ZEBAR 这 行 字 距 标 签 纸 边 的 位 置 为 : (x) 2.5mm*(y)1.25mm (203pdi 打
印机)
^FD 指令名称: 定义打印内容指令 指令作用: 定义打印内容
接设置.
^SC a,b,c,d,e 指令名称: 设置通讯参数指令 指令作用: a : baud rate,可由 110-19200
b : word length, 7 或 8 个 data bits c : parity,n=none 或 e= even 或 o=odd d : stop bits,1 或 2 e : handshake,X=XON/XOFF 或 D=DTR/DSR 例如: ^SC9600,7,E,2,X 表示 9600
再定义^MD20,此时浓淡度会以 10+6=16,16-9=7,7+20=27 这三段程度印出,标签就会呈现"浓 淡
浓"的现象,至于浓淡程度则可视打印出的效果来调整至满意程度.
~JC: 指令名称:检测标签纸指令 指令作用:当您更换不同大小的纸张时,需重新检测纸张大小,以便在换纸后打印内容能在正
确的位置,功能与硬件面版设置 CALIBRATE 一样,如果硬件上已有此项功能则可以在硬件上 直
ZPL2(Zebra 打印机语言)简易指令集
^XA: 指令名?:起始指令 指令左右: 当打印机接受到此命令时表示本段程序开始.
^XZ: 指令名称: 终止指令 指令作用: 当打印机接受到此指令时即表示本段程序终止并开始打印 (注: 该两指令需配对使用) ^XA--------起始指令 ^FO22,30^BY2,2,38^BCN,,N,N,N^FD COO2 PN MFGID DELLDATE SN ^FS ^FO40,71^A0,24,32^FD COO2 - PN - MFGID - DELLDATE - SN ^FS ^FO45,98^BY2,2,38^BCN,,N,N,N^FD REV ^FS ^FO43,140^A0,24,32^FDREV REV ^FS ^FO240,125^A0,24,32^FDMade in COUNTRY ^FS ^PQ PRNQTY ^XZ--------终止指令
ZPL2(Zebra 印表机语言)简易指令集
ZPL2(Zebra 印表機語言)简易指令集.doc2008年07月30日星期三 17:01^XA:指令名?:起始指令指令左右: 當印表機接受到此命令時表示本段程式開始.^XZ:指令名稱: 終止指令指令作用: 當印表機接受到此指令時即表示本段程式終止并開始列印(注: 該兩指令需配對使用)^XA--------起始指令^FO22,30^BY2,2,38^BCN,,N,N,N^FD COO2 PN MFGID DELLDATE SN ^FS^FO40,71^A0,24,32^FD COO2 - PN - MFGID - DELLDATE - SN ^FS^FO45,98^BY2,2,38^BCN,,N,N,N^FD REV ^FS^FO43,140^A0,24,32^FDREV REV ^FS^FO240,125^A0,24,32^FDMade in COUNTRY ^FS^PQ PRNQTY^XZ--------終止指令^LH x,y指令名稱: 定義標簽起始位置指令指令作用: (x,y)表示的含義是坐標值,但實際X和Y的值是點的數目.坐標值以每毫米包涵點數多少計算,依機型不同而有差異,如203dpi的機型,沒1mm代表8點.如300dpi的機型,每1mm代表12點.范例: ^LH30,30^FS如果你的機型是用203dpi則表示:在離卷紙邊3.75*3.75mm處為標簽起始點.3.75是30/8 得來的.^LL y指令名稱:定義標簽長度指令指令作用: 限定使用在連續標簽紙,y以每毫米(mm)包含點數多少計算,每一機型計算方式與前頁一樣.范例: ^LL300^FS表示您所列印的標簽紙的長度是37.5mm (203dpi)^MD x指令名稱: 濃暗度設置指令指令作用: 經由溫度控制來設置列印的濃暗度,設置值可以正負各30個區段(x),正值溫度越高顏色越濃,反之越淡.本指令運行后,如果印表機電源關閉即回復到出廠設置值+10.在指令群中可以分段來控制濃淡,例如:你可以在程式前段先定義^MD6,然后在中段定義^MD-9,后段再定義^MD20,此時濃淡度會以10+6=16,16-9=7,7+20=27這三段程度印出,標簽就會呈現"濃淡濃"的現象,至于濃淡程度則可視列印出的效果來調整至滿意程度.~JC:指令名稱:檢測標簽紙指令指令作用:當您更換不同大小的紙張時,需重新檢測紙張大小,以便在換紙后列印內容能在正確的位置,功能與硬體面版設置CALIBRATE一樣,如果硬體上已有此項功能則可以在硬體上直接設置.^SC a,b,c,d,e指令名稱: 設置通訊參數指令指令作用: a : baud rate,可由110-19200b : word length, 7或8個data bitsc : parity,n=none 或 e= even 或o=oddd : stop bits,1或2e : handshake,X=XON/XOFF 或 D=DTR/DSR 例如: ^SC9600,7,E,2,X 表示9600 baud rate 7個date bits even parity 2個stop bit xon/xoff handshake^JUx指令名稱: 保存設置指令指令作用: x為參數,x=F 則恢復出廠預設值x=S 則保存當前設置值x=R 則返回上次設置值.所以,如果您在設置上作了更改且希望將此設置儲存起來,您可以使用^JUs指令.^FOx,y指令名稱: 定義相對於其實位置指令指令作用: (x,y)為坐標值.如:^FO20,30 表示ZEBAR這行字距標簽紙邊的位置為: (x) 2.5mm*(y)1.25mm (203pdi打印機)^FD指令名稱: 定義列印內容指令指令作用: 定義列印內容例: ......code 39: ^B3A,bCK,nH,bBT,bAT如. ^B3,,20,,Ncode128: ^BC A,nH,bBT,bAT,bCK如. ^BCN,20,N,N,,Acode 93: ^BA A,nH,bBT,bAT,bCK如. ^BAN,72,N,N,NEAN-13 : ^BE A,nH,bBT,bAT如. ^BEN,34,Y,N畫框劃線: ^GB nW,nH,nLW如. ^GB200,100,2 or ^GB150,0,1特殊字元 ~: ^F vC^FD v^FS 如. ^FH^FD_7e^FS ASCII 7E='~' 畫圖: ^XG vN,nXS,nYS^FS 如. ^XGR:SAMPLE.GRF,2,1^FS--各印表機型每毫米點數--152 DPI(1mm 6pt): 90A203 DPI(1mm 8 pt): S300,S500,105S,160S,140,140XI,Z4000 300 DPI(1mm 12pt): 90XI,170XI(1mm 12pt)600 DPI(1mm 24pt): 96xiIII,BRADY600--顏色代表意義--藍色:ZPL指令; 粉紅色:數字; 紫色:文字資料--縮寫代表意義--nW : 寬度點數(Width)nH : 高度點數(Height)nR : 寬窄線條比例(Rate)nTBW: 窄線條點數(Thin Bar Width)nLW : 線寬點數(Line Width)nXS : 水平放大比例(X-axis Scale)nYS : 垂直放大比例(Y-axis Scale)v : 任何文字資料A : 旋轉角度(Angle): N:0,R:90,I:180,B:270bFZ : 是否前面補零(Fill Zero)bBT : 是否條碼底下印字(Below Text)bAT : 是否條碼上面印字(Above Text)bCK : 是否印檢查字元(Check)F : 可以是 0-9,A-Z; 字型 0:向量字型; 字型 D:常用字型vC :列印特殊字元時的跳脫字,內定為 _vN :在印表機中的檔名, 如. R:SAMPLE.GRF。
Zebra条码打印机编程命令
Zebra条码打印机编程命令条码打印机是一种专业的打印设备,其打印实现方式与普通的激光、喷墨或针式打印机有所不同,世界各大条码打印设备厂商生产的打印机都采用了各自不同的打印语言以实现其打印,如Zebra系列的ZPL,Eltron的EPL,Datamax的DPL等,与普通打印方式相比,采用打印语言的优点在于速度快,精度高,但由于没有统一的标准打印语言,使得用户在使用不同机器时会产生一定的麻烦,好在各种打印语言的语法比较类似,上手也是比较简单的。
目前的条码打印主要采用专业的商用条码打印软件,使用方便、简单,功能强大,且提供了对各类型条码打印设备的接口,适用于需经常变换打印格式、内容的用户,如专业印刷厂商等,但此类软件的价格也较昂贵。
对于一些采用了企业管理系统的用户,其打印标签的格式通常已较固定,因此可在软件系统中嵌入条码打印部分。
一般来说,可采用以下几种方式:直接使用条码打印机的条码语言编写程序;采用各种专业控件提供商编制的条码控件;使用一些高级条码打印软件,如CodeSoft、LabelView提供的ActiveX技术等。
这几种方式在方便性、精确性及经济性等方面各有其优缺点,用户可根据需要自行选择,这里,主要对第一种方式给出较为详细的使用方法。
ZPLII是Zebra系列打印机的打印语言,在ZPL的基础上做了一定的更新,其语法通俗易懂,在这里对其条码、文字、图形打印部分给予一一介绍。
基本标签示例:^XA‘标签格式开始命令^LH30,30‘Label Home position设置标签起始参考点坐标为30,30,默认为0,0^FO20,10^AD^FDEXAMPLE^FS‘^FO20,10-设置数据域起始坐标,距参考点20,10^AD-设定字体为D(内部字体)^FD-数据域开始命令EXAMPLE实际打印内容^FS-数据域分隔命令^FO20,60^B3^FDAAA001^FS ‘^B3-选择条码类型为39码^XZ ‘标签格式结束命令由上例可见,ZPLII的命令使用还是相当简单的。
ZPLII语言
ZPL II 简易指令集ZPL II 简易指令集指令介绍B3FORMAT BRACKET COMMAND B4LABEL DEFINITION COMMAND B5~B6 PRINTER CONFIGURATION B7 ~ B8FILED DEFINITION COMMAND B9~B10TEXT PRINTING COMMAND B11~B14 BARCODE FILED INSTRUCTION B15~B18BOX/LINE COMMAND B19GRAPHIC AND OTHERS COMMAND B20~B21 OTHERS COMMAND B22-B23VER 1.01 NO.ZE-ZPL-II起始指令^LH30起始位置指令^LL标签长度指令终止指令相对于打印内容本行结束^FO^LL^XA起始指令当PRINTER接收到此指令时即表示本段程式开始^XZ终止指令当PRINTER接收到此指令时即表示本段程式终止并开始列印范例^XA起始指令^LH3030^FS^FO2010^AEN5630^FDZEBRA^FS^FO2080^B3N Y20N N^FDAAA01^FS^XZ 终止指令^LHx y定义标签起始位置指令X Y为座标值以-公厘mm)包含点数多少计算依机型不同而有差异如ZEBRA S300S500105S160S140140XI等机型–1 mm代表8 点而ZEBRA90XI170XI–1 mm代表12点而ZEBRA 90A–1mm代表6点范例^XA^LH3030^FS^FO2010^AEN5630^FDZEBRA^FS^FO2080^B3N Y20N N^FDAAA01^FS^XZ以上范例中如果您的机型是用S300则^LH3030^FS此行所代表的意义是在离纸卷边3.75mm x 3.75mm处为标签起始点 3.75mm=30除以8 如果您使用的是90XI则30除以12=2.5mm处为起始点^LLy定义标签长度指令限定使用在连续标签纸Y以-公厘mm)包含点数多少计算——机型计算方式与前页一样本手册座标的含意都相同故以下如谈到座标将不再重复计算方式范例^XA^LH3030^FS^LL300^FS^FO2010^AEN5630^FDZEBRA^FS^FO2080^B3N Y20N N^FDAAA01^FS^XZ以上范例中如果您的机型是S300则^LL300^FS此行所代表的意义是在您所打印标签纸的长度是300除以8=37.5mm^MDx浓暗度设定经由温度控制来设定打印的浓暗度设定值可以正负各30个区段x正值温度越高颜色越浓反之越淡本指令如电源关闭即恢复到出厂设定+10在指令群中可以分段来控制浓淡例如你可以在程式前段先下^MD-9后段再下^MD20此时浓淡度会以10+6=1616-9=77+20=27之程度印出标签就会呈现浓淡浓的现象至于浓淡的程度则可视打印出的效果来调整至满意程度~JC侦测标签纸当您更换不同大小的纸张时需重新侦测纸纸张大小以便在换纸后的打印能够在正确位置功能与硬件上的CALIBRATE一样如果硬件上已经有此项功能则可以在硬件上直接设定像A300机型则一定要先下此指令才不致于发生错误^SCa b c d e设定通讯参数a baud rate可由110-19200b word length7或8个data bitsc parity n=none或e=even或o=oddd stop bits1或2e handshake X=XON/XOFF或D=DTR/DSR例如^SC9600,7,E,2,X表示9600 BAUD RATE7个DATA BITS EVEN PARITY1个STOP BITXON/XOFF HANDSHAKE^JUx储存设定X为参数X=F则回复出厂预设值X=S则储存目前设定值X=R则叫加上一次设定值所以如果您在设定上做了更改且希望将此设定储存您可以下^JUS指令^FOx y定义相对于起始位置指令x,y)为座标值x=20=2.5mm标签纸y=10范例^XA30^FS^FO 2010^AEN 5630^FDZEBRA^FS ^FO2080^B3N Y 20N N^FDAAA01^FS ^XZ如上例所示Zebra 这行字距标签纸边x)2.5mm * (y)1.25mm^FD定义列印内容指令范例^XA^LH3030^FS^FO2010^AEN5630^FD ZEBRA^FS^FO2080^B3N Y20N N^FDAAA01^FS^XZ以上范例中将您要打印的文字ZEBRA紧跟在^FD后面^FS^LH3030^FS^Axab c变换字弄指令x为字型FONT TYPE参数共有由A~Z 及0等字型如果指令可下^AA^AG……等下图为各种字形处观及尺寸表S300 FONT 尺寸表S300 FONT 外规图S500 FONT外观图S500 FONT尺寸表^Axa b c中的a b c三个参数表示à度高度及宽度a参数有N=旋转0度列印R=旋转90度列印I=旋转180度列印B=旋转270度列印b参数表示字型高度其高度要参考尺寸表中Matrix栏中的H部份并为其倍数例如^AAR27 表示选择A安型从表中知道此字型H为9故当您选择27表示要放大3倍高c参数表示字型宽度与b参数用法一样例如^AAR2715 表示选择A字型从表中知道此字型W为5故当您选择15表示3倍宽^AAR2715此式如果综合以上解释可叙述成选择A字型旋转90度高度及宽度都放大3倍“请注意本指令只能改变目前同一行中的字型一旦下行尾^FS指令后即会恢复DEFAULT字型^CFh b c变更DEFAULT字型指令h为字型FONT TYPE参数共有由A~Z及0型请参考字型外观图基本上本指令与^Aax,b,c用法一样但它不会到字尾^FS)就恢复DEFAULT字型^CIx变更国际语言字型指令x为语言代号以下为语言代号对照表CI0=USA1CI1=USA2CI2=UKCI3=HOLLANDCI4=DENMARK/NORWAYCI5=SWEDEN/FINLANDCI6=GERMANCI7=FRANCE1CI8=FRANCE2CI9=ITALYCI10=SPAINCI11=MISCELLANEOUSCI12=JAPANCI13=IBM CODE PAGE 850^BYij bDEFAULT 条码控制指令i 条码窄线的点数j条码宽窄比例值12~13b 条码高度例如^BY102.560i=10即10点(10除以8=1.25mm)为窄线宽度j=10*2.5(由表中查I 与j 值的交叉点为2.2:1)=25点(25除以8=3.125mm)为宽线宽度b=60即60点(60除以8=7.5mm)为条码高度ij b 值之大小取决于标签纸或您所希望的大小兵絏絬翴计(i)兵絏糴ㄒ(j )^Bxa b e f g选择条码类型指令此指令分两部份来看第一部份为^Bx,x为条码类型详见下表参考范例^XA^LH3030^FS80^B3N Y20N N^FDAAA01^FS^XZ如上^B3为选用CODE 39第二部份为a b e f ga 参数有N=条码旋转0度R=条码旋转90度I=条码旋转180度B=条码旋转270度b 条码打印高度DEFAULT=10此高度参数与^BY指令中所提的参数一样故在此可省略它将抓取^BY所设的值e 附加检查码有Y N可选择Y为附加为不附加f 条码内容打印于条码的下方有Y N可选择Y为打印N为不打印g 条码内容打印在条码的上方有Y N可选择Y为打印N为不打印上述a b e f g 等参数根据条码种类不同而前后位置不同请注意使用以下提供各种条码的参数位置图供参考^B1a e b f g CODE 11^B2a b f g e INTERLEAVED 2 OF 5^B3a e b f g CODE 39^B8a b f g EAN-8^B9a b f g e UPC-E^BAa b f g e CODE 93^BCa b f g e CODE 128^BEa b f g EAN-13^BIa b f g INDUSTRIAL 2 OF 5^BJa b f g STANDARD 2 OF 5^BKa e b f g CODABAR^BLa b g LOGMARS^BMa e b f g MSI^BPa e b f g PLESSEY^BSa b f g UPC/EAN耎絏^BUa b f g e UPC-A^BZa b f g POSTNET范例^XA30^FS^FO2080^B3N Y20N N^FDAAA01^FS^XZ此式的意思是是条码选择CODE 39正常列印不旋转加印检查码条码高度2.5mm条码下上方不列印数字^GBw h m c画四方形及直线指令w h m c为参数说明如下w(四方形宽度)DEFAULT 1 DOT最大9999DOTSh(四方形高度)DEFAULT 1 DOT最大9999DOTSw或h参数如果有一个为0则变成画垂直或水平直线m(四方形宽点线)DEFAULT 1 DOT最大9999DOTSc(四方形线颜色)DEFAULT B(BLACK黑色)也可选择W(WHITE白色范例^XA^LH3030^FSFO1010^GB1504040^FS^FO2080^B3N Y20N N^FDAAA01^FS^XZ请注意顼先下^FO指令宣告起点所以此式的意思为距标签纸边x 1.25mm*(y)1.25mm处开始画一个18.75mm(150除以8*5mm(40除以线宽5mm40除以8的黑色框线四方形~DG<NAME>t w<ASC>图形储存指令基本上此格式会经由软体转换后自动产生故您可不必详记内容参数说明<NAME>:档名t :图形的总Byte数w :一列的Byte数<ASC>图形资料此指令是将图形如公司Logo或任何IMAGE档案储顾在打印机中以便随时使用使用此指令前需先将图形档案用ZTOOLS.EXE转成格式为GRF例如您从影像扫描器IMAGE SCANNER)扫描得到一个档系统提示您输入要转换的档案名称如AA.PCX)后自动转换成什么名称如AA.GRF)此时AA.GRF档会自动在档头附加^DGAA,……等您只要在开始打印前将AA.GRFDOWNLOAD至打印机即可^IL<NAME>呼叫图形.GRF)指令注意需在前先加位置指令^FO例如^FO4030^ILAA,^FS^XG<NAME>x y呼叫图形.GRF)指令与^IL不同之处是^XG可作x,y轴向放大如^XGAA2,2表示x,y轴都放大2倍注意需在批令前先加位置指令^FO,例如^FO4030^XGAA22^FS^ID<NAME>删除图形.GRF)指令^PRx改变打印速度指令x为参数可有两种表示方式A B C D或23456速度如下A or 2 = 50.8mm/secB or 3 = 76.2mm/secC or 4 = 101.6mm/sec5 = 127mm/secD or 6 = 152.4mm/sec速度的设定不得大于机器本身的最快速度^PQq p r o批次打印指令q,p,r,o为参数叙述如下q打印总张数最大9999p打印p张后暂停或载切DEFAULT为0最大9999o:是否连续列印y表示暂停或截切N表示连续打印^SNv n z序号打印指令V为起始序号n为递增减数值Z为是否算0,用Y或N表示例如^SN0101,+2,Y上式中打印机将从0101开始跳一号印一张即010*********……或您可用-2表示递减则Y表示才会印出前面的0,N表示时将不打印前面的0如^SN0101,+2,N打印时将变成10101030105……~HS传回PRINTER目前各项参数值以利了解目前状态并做为程式设计时修改设定的参考。
ZPL条码打印指令
ZPL指令及条码选择整理(斑马S4M)^XA^LH50,20^FO10,50^BY2,2.0,200^BCC^FD>51234567890^FS^CW1,E:MSUNG24.FNT^CI17^FO40,270^A1N,20,20^F8^FD测试文本^FS^XZZPL指令是区分大小写的。
^XA和^XZ是开始和结束标记。
这些ZPL指令可以参考下面的标记,主要解释一下^BC是128码,128码分为A 子集、B子集、C子集,不同的子集打印的条码长度不同,打印leng%2=0(就是打印的数字个数是双数)的数字最好使用128码C子集(条码短),>5就是由默认的B子集转成C子集,如果打印的是单数1>5234567,1是使用B子集打印,然后>5转成C子集。
如果使用程序打印的时候,编码方式应该使用UTF-8,否则打不出中文。
1.格式指令以 ^ 开始控制指令以 ~ 开始2.^XA ^XZ 标签开始、标签结束^FD ^FS 字段数据开始、结束例:^FDThis is an example.^FS3.^XA 开始标签格式^LH0,0 原点位置 (Label Home)^FO203,203 文本位置(Field Origin)^ABN,30,30 字体类型与大小^FDExample^FS 打印的正文字符串(Field Data)^XZ 结束标签格式4.各个域之间以^FS进行分隔5.^XA 开始标签格式^LH0,0 原始位置^FO203,203 条形码位置^BY3,2.4,50 条形码系统设定[预置]^B3N,Y,,Y Code 39 条形码^FDABC123^FS 条形码数据^XZ 结束标签格式6. 一般为^FO定义位置,然后定义字体或定义条码格式,然后定义内容^FS 结束(分隔),即^FO与^FS之间的是一段内容(域)的显示。
7. 张工那个^XA^LH20,20^FO20,10^AF^FDZEBRA^FS^FO20,60^B3,,40,, //40为条码高度,为主要参数,其他默认(Barcode 39)^FDAA001^FS//^PQnum,,, PQnum,,num,^XZ采用默认参数,后面的逗号可以省略8. 序列号^SNv,n,zv:起始值 n:increment/decrement z:是否显示前置的零9.^XA^LH20,20^FO20,10^AF^FDZEBRA^FS^FO20,60^B3,,40^FDAA001^FS^FO20,200^AF^SN001,1,Y^FS //1,决定了序列号递增值为1^PQ4,,2 //2决定了序列号的重复数,4决定总页数^XZ打印效果为序列号001两页,002两页,共四页10.^XA^LH0,0^FO20,20^BY2,2.0,35//第一个选项设置窄条窄空整体的宽度,可以理解为x方向的放大系数//第三个选项设置条码高度^BC //128码^FD1>523456789123456^FS //默认使用B子集,>5转到C子集^XZ//C子集取两位数字编码,所以打出的标签短,总数不能为单数//单数解决方案是先用B子集打印一位数,然后转到C子集打印剩下的数CODE128有三种子集:A子集,B子集,C子集。
zplⅡ打印指令小结
zplⅡ打印指令小结一、ZPLII与ZPL的区别1.ZPL II 不是100% 兼容ZPL2.主要差别对于ZPL II,当指令被接收时,就会立刻被执行,对于ZPL,只有当打印机接收到^XZ (End Format)时,才执行接收的所有指令一些ZPL中的指令,在ZPL II中被增强或扩展ZPL II支持小写、大写或大小写混合输入的指令增加了一些新的命令二、ZPLII语言功能1.打印各种标签格式文本图形条形码2.设置打印机参数3.获取打印机配置及状态信息三、指令种类1.格式指令(format commands)以^开始用于设定标签格式与数据多条格式指令按顺序执行2.控制指令(control commands)以~开始迫使打印机立即执行某一个指定的操作可以中断打印机数据缓冲器中的格式指令四、简单的ZPLII实例文本打印^XA^LH30,30^FO20,10^AD,54^FDZEBRA^FS^XZ结果:ZEBRA1.标签格式以^XA开始2.标签格式以^XZ结束3.各个域之间以^FS进行分隔4.原点位置^LH30,30(^LHx,y)打印文字:5.文本位置^FO20,10(^FOx,y)6.文字字体,大小^AD, 54(54点高)7.打印的正文字符串^FDExample^FS条形码打印^XA^LH0,0^FO100,100^B3N,Y,30,Y,Y^FDABC123^FS^XZ结果:ABC123(注释,条码上方)条码打印条形码:8.条形码位置^FO20,609.Code 39 条形码^B3^B3命令的格式:^B3o,e,h,f,go = 字体方向默认值:^FW默认值或上一个^FW的值。
其他值: N = 正常(Normal)R = 顺时针旋转90度(Roated)I = 顺时针旋转180度(Inverted)B = 顺时针旋转270度(Bottom)e = 模43校验位默认值:N(No) = 不打印校验位其他值: Y(Yes) = 打印校验位h = 条码高度默认值:由^BY设置其他值:1到9999点f = 打印注释行默认值: Y = 打印(Yes)其他值:N = 不打印(No)g = 将注释行打印在条码上方默认值: N = 不打印在条码上方其他值: Y = 打印在条码上方二维码打印^XA^FO20,20^BQ,2,10^FD L A,0123456789ABCD 2D code^FS^XZ10.二维码:^BQ^BQ字段位置,模型,放大倍数(^BQ,2,10 无旋转,模型:增强,放大倍数:10) ^BQ =二维码条码a =字段位置默认值:正常。
斑马打印机编程 ZPL II语言编程基础
^XA^FO100,75^BY3^B3N,N,100,Y,N^FD123ABC^XZ 使用默认参数:
^XA^FO100,75^BY3^B3,,100^FD123ABC^XZ
文本打印
打印文本
^XA
开始标签格式
^LH0,0
原点位置
^FO203,203
文本位置
^ABN,30,30
字体类型与大小
命令形式: ~DYd:f,b,x,t,w,data
举例 ~DYE:FONTFILE.TTF,B,T,SIZE,,
SIZE指文件字节数 可以分两次发送到打印机
»ZPL II支持小写、大写或大小写混合输入的 指令
»增加了一些新的命令
ZPL II 语言功能
打印各种标签格式
»文本 »图形 »条形码
设置打印机参数 获取打印机配置及状态信息
ZPL II 语言相关概念
域(field)
ZPL对象
»图片 »标签格式文件
打印机设备名称
打印机存储设备 » 指定 ZPL II 的目标对象 (图像,标签格式,字体) 到不 同的存储区域
»纯文本编辑器 »标签设计软件,如Zebra Designer
ZPL II与ZPL的区别
ZPL II 不是100% 兼容ZPL 主要差别
»对于ZPL II,当指令被接收时,就会立刻被 执行,对于ZPL,只有当打印机接收到^XZ (End Format)时,才执行接收的所有指令
»一些ZPL中的指令,在ZPL II中被增强或扩 展
控制指令(control commands)
»以~开始 »迫使打印机立即执行某一个指定的操作 »可以中断打印机数据缓冲器中的格式指令
格式指令
格式指令有以下分类
Zebra条码打印机编程命令
Zebra条码打印机编程命令条码打印机是一种专业的打印设备,其打印实现方式与普通的激光、喷墨或针式打印机有所不同,世界各大条码打印设备厂商生产的打印机都采用了各自不同的打印语言以实现其打印,如Zebra系列的ZPL,Eltron的EPL,Datamax的DPL等,与普通打印方式相比,采用打印语言的优点在于速度快,精度高,但由于没有统一的标准打印语言,使得用户在使用不同机器时会产生一定的麻烦,好在各种打印语言的语法比较类似,上手也是比较简单的。
目前的条码打印主要采用专业的商用条码打印软件,使用方便、简单,功能强大,且提供了对各类型条码打印设备的接口,适用于需经常变换打印格式、内容的用户,如专业印刷厂商等,但此类软件的价格也较昂贵。
对于一些采用了企业管理系统的用户,其打印标签的格式通常已较固定,因此可在软件系统中嵌入条码打印部分。
一般来说,可采用以下几种方式:直接使用条码打印机的条码语言编写程序;采用各种专业控件提供商编制的条码控件;使用一些高级条码打印软件,如CodeSoft、LabelView提供的ActiveX技术等。
这几种方式在方便性、精确性及经济性等方面各有其优缺点,用户可根据需要自行选择,这里,主要对第一种方式给出较为详细的使用方法。
ZPLII是Zebra系列打印机的打印语言,在ZPL的基础上做了一定的更新,其语法通俗易懂,在这里对其条码、文字、图形打印部分给予一一介绍。
基本标签示例:^XA‘标签格式开始命令^LH30,30‘Label Home position设置标签起始参考点坐标为30,30,默认为0,0^FO20,10^AD^FDEXAMPLE^FS‘^FO20,10-设置数据域起始坐标,距参考点20,10^AD-设定字体为D(内部字体)^FD-数据域开始命令EXAMPLE实际打印内容^FS-数据域分隔命令^FO20,60^B3^FDAAA001^FS ‘^B3-选择条码类型为39码^XZ ‘标签格式结束命令由上例可见,ZPLII的命令使用还是相当简单的。
斑马编程指令中文版
斑马编程指令中文版新一篇: C语言如何连接数据库?ZPLII命令参考^A 缩放/点阵字体^A(可缩放/点阵字体)命令用于内置的TrueType字体。
可缩放字体(也可以认为是平滑矢量字体)能够以点为单位来对横向、纵向进行扩展。
点阵字体由点阵象素组成,通常高度高度大于宽度。
内置的的缩放字体(A0=CG Triumvirate BoldCondensed)默认为不旋转,15点高,12点宽。
打印机将从^A命令得到字体的旋转方向、宽度、高度等参数。
^A命令的格式:^Af,o,h,w^A=缩放/点阵字体f=字体名默认值:0(CG Triumvirate Bold Condensed)其他值:A-Z,0-9(打印机的任何字体,包括下载字体,EPROM中储存的,当然这些字体必须用^CW来定义为A-Z,0-9)0=字体方向默认值:^FW默认值或上一个^FW的值。
其他值:N = 正常(Normal)R = 顺时针旋转90度(Roated)I = 顺时针旋转180度(Inverted)B = 顺时针旋转270度 (Bottom)h=字符高度曲线字体:默认值:15点或上一次^CF的值。
可接受的值:10-1500点点阵字体:默认值:指定点阵字体的标准高度其他值:标准高度高度的整数倍,2-10。
w=字符宽度曲线字体:默认值: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”字体,当字体找到后,命令将继续定义字符的方向,大小,然后在标签上打印字段数据“Thisis a test.”一旦^A@定义了“Cyrillic.FNT”,它的作用将一直保持到下一个^A@命令定义一个新字体名时。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开 如果默认参数可以满足要求,可以不用指定这个参数 的参数值 ^AA,,60
指令的参数和默认值
格式: ^Af,o,h,w
举例说明默认参数的用法: ^AA,,60
标签格式文件
标签格式以^XA开始
标签格式以^XZ结束 各个域之间以^FS进行分隔
ZPL II语言程序书写方法
多行:
^XA^FO100,75^BY3 ^B3N,N,100,Y,N ^FD123ABC^XZ
外置字体使用
定义字体名称 ^CWa,d:o.x
^XA ^CW1,B:ARIAL.FNT^FS ^CI0^FO100,600 ^A1N,100,100^FDZebra^FS ^XZ
符号字体
^XA ^FO100,500 ^GSN,60,60^FDB^FS ^XZ
打印样张
打印条形码
开始标签格式 ^XA 原始位置 ^LH0,0 条形码位置 ^FO203,203 条形码系统设定[预置] ^BY3,2.4,50 Code 39 条形码 ^B3N,Y,,Y 条形码数据 ^FDABC123^FS 结束标签格式 ^XZ
ZPL II 图形图像打印
打印方框和线条
^GB Graphic Box
w = 宽度 h = 高度 t = 边框厚度 c = 颜色 r = 制圆的度数
打印圆形图案
^GC Graphic Circle
图像打印
图像文件名:*.GRF
图像必须是单色
图像制作方法
使用Ztools制作图象 使用Zebra Designer制作图象 使用ZebraNet Bridge转换图象
^XA ^LH30,30 ^FO20,10^AF^FDZEBRA^FS ^FO20,60^B3,,40,,^FDAA001^FS ^FO20,180^AF^SNSERIAL NUMBER 00000000111,1,Y^FS ^PQ10 ^XZ
打印序列号 ^SN
^SN Serialization Data
特殊效果打印
域(field)反色打印 标签反色打印 镜像打印 旋转打印 变量打印
打印区域的特殊效果
打印区域的反色打印:^FR
^XA ^PR1 ^FO100,100 ^GB70,70,70,,3^FS ^FO200,100 ^GB70,70,70,,3^FS ^FO300,100 ^GB70,70,70,,3^FS ^FO400,100 ^GB70,70,70,,3^FS ^FO107,110^CF0,70,93 ^FR^FDREVERSE^FS ^XZ
调用保存的格式,变量打印
下载格式
^XA ^DFR:FORMAT^FS ^LH30,30 ^FO100,100^AF^FN1^FS ^FO100,250^B3,,60,,^FN2^FS ^XZ
下载时打印机Data灯会闪,但不会有什么动作
调用格式
^XA ^XFR:FORMAT^FS ^FN1^FDZEBRA^FS ^FN2^FDAAA001^FS ^XZ ^XA ^XFR:FORMAT^FS ^FN1^FDBEARS^FS ^FN2^FDZZZ999^FS ^XZ
指令种类
格式指令(format commands)
» 以^开始 » 用于设定标签格式与数据 » 多条格式指令按顺序执行
控制指令(control commands)
» 以~开始 » 迫使打印机立即执行某一个指定的操作 » 可以中断打印机数据缓冲器中的格式指令
格式指令
格式指令有以下分类
格式框架指令-format bracket commands 标签定义指令-label definition commands 字段定义指令-field definition commands 字段默认指令-field default commands 格式默认指令-format default commands 格式旋转指令-format rotation commands 打印机控制指令-printer control commands 文字数字字段指令-alphanumeric field commands 条形码字段指令-bar code field commands 图像指令-graphic image commands
ZEBRA
TECHNOLOGIES CORP
PRINTED BY:
调用保存的标签模板 ^IL
^IL Image Load
功能:调用已保存的标签格式
调用保存的标签模板 ^IL
^XA ^ILR:SAMPLE1.GRF^FS ^CF0,72,60 ^FO200,700 ^FD SHIRLEY DING^FS ^XZ
ZPL II 语言功能
打印各种标签格式
» 文本 » 图形 » 条形码
设置打印机参数 获取打印机配置及状态信息
ZPL II 语言相关概念
域(field)
ZPL对象
» 图片 » 标签格式文件
打印机设备名称
打印机存储设备 » 指定 ZPL II 的目标对象 (图像,标签格式,字体) 到不 同的存储区域 存储设备名称: R: Printer DRAM library (read/write)内存 B: Optional memory:等可选配的存储器PCMCIA卡 E: Flash memory (read/write)闪存 Z: Internal ZPL II stored object library (read only) A: CF卡(可读写) 默认存储器为DRAM 调用对象时,搜索的优先顺序: DRAM, RAM, extra EPROM,internal ZPL II (R:, B:, E:, Z:, * or ? (All))
更改字体
^Afo,h,w 调用字体和定义放大倍数
^XA^ABN,55,35^FD FONT1^FS^XZ 字体名:A – Z, 0 - 9
定义打印机默认字体^CFf,h,w
^XA^CF0,80^FO100,100^FD Default Font^FS ^ABN,55,35^FO100,200^FD Font B^FS ^FO100,400^FD Font Size ?^FS ^XZ
ZPL II 语言编程基础
2009年3月
ZPL II 语言概述
ZPL语言是一种script语言,分为ZPL语言 和ZPL II 语言 Zebra打印机支持最广泛的一种语言 ZPL II语言支持复杂标签格式,如文字, 图片,条形码,序列号打印等等 ZPL II文件可以通过以下两种方式实现
简单的ZPL II实例
^XA ^LH30,30 ^FO20,10^AD^FDZEBRA^FS ^FO20,60^B3^FDAAA001^FS ^XZ
ZPLII 指令格式
ZPL II指令由字首,指令代码和参数组成。
^ADN,2,2
字首 指令代码 参数
很多ZPL II指令都是有参数,参数之间用间隔符“,”分
使用外置字体 - 字体下载
使用ZUD下载
使用ZebraNet Bridge下载 使用Zebra Designer下载
使用~DY命令下载
使用~DY命令下载字体 命令形式: ~DYd:f,b,x,t,w,data 举例 ~DYE:FONTFILE.TTF,B,T,SIZE,, SIZE指文件字节数 可以分两次发送到打印机
打印序列号 ^SN
^SF
Serialization Field (with a Standard ^FD String)
Format ^SFa,b
模板打印
保存标签模板 ^IS
^IS Image Save
功能:将标签格式以图形方式保存在打 印机内存中,方便以后调用,和需要的 可变信息组合为内容不同的标签格式
必须与^GB指令结合使用 每次使用反色打印,必须都要使用一次^FR
打印区域须与^GB指令结合使用 直到接收到^LRN,反转打印才失效
打印区域的特殊效果
镜像打印:^PM
直到接收到^PMN,镜像打印才失效
打印区域的特殊效果
标签180°方向旋转打印 ^PO { N (normal) or I (invert)}
ZEBRA内置字体
内置15种位图字体, 和一个矢量字体
位图字体
位图字体有固定的长宽比,单位Dots 位图字体只能以整数倍放大,放大倍数2-10倍 字符的宽度和高度可以独立设定
矢量字体 Scalable font:可伸缩字体,可连续缩小 与放大。字体高度与宽度取值范围为20 – 32000点。 后缀可以是.FNT, .TTF, .TTE 通过打印机平滑伸缩算法实现
保存标签模板 ^IS
^XA^MD12 ^LH30,30^BY3,3,85^CFD,36 ^GB800,1200,4^FS ^FO230,100^AO,70,60 ^FDZEBRA^FS ^FO80,200^AO,40,30 ^FDTECHNOLOGIES CORP^FS ^FO200,600 ^FDPRINTED BY:^FS ^ISR:SAMPLE1.GRF,Y ^XZ
一行:
^XA^FO100,75^BY3^B3N,N,100,Y,N^FD123ABC^XZ 使用默认参数: ^XA^FO100,75^BY3^B3,,100^FD123ABC^XZ
文本打印
打印文本
开始标签格式 ^XA 原点位置 ^LH0,0 文本位置 ^FO203,203 字体类型与大小 ^ABN,30,30 打印的正文字符串 ^FDExample^FS 结束标签格式 ^XZ