ZPLII语言编程基础2009年3月ZPL语言是一种script语言,分为ZPL语言和ZPLII语言Zebra打印机支持最广泛的一种语言ZPLII语言支持复杂标签格式,如文字,图片,条形码,序列号打印等等ZPLII文件可以通过以下两种方式实现»纯文本编辑器»标签设计软件,如ZebraDesignerZPLII语言概述ZPLII与ZPL的区别ZPLII不是100%兼容ZPL主要差别»对于ZPLII,当指令被接收时,就会立刻被执行,对于ZPL,只有当打印机接收到^XZ(EndFormat)时,才执行接收的所有指令»一些ZPL中的指令,在ZPLII中被增强或扩展»ZPLII支持小写、大写或大小写混合输入的指令»增加了一些新的命令ZPLII语言功能打印各种标签格式»文本»图形»条形码设置打印机参数获取打印机配置及状态信息ZPLII语言相关概念域(field)ZPL对象»图片»标签格式文件打印机设备名称打印机存储设备»指定ZPLII的目标对象(图像,标签格式,字体)到不同的存储区域存储设备名称:R:PrinterDRAMlibrary(read/write)内存B:Optionalmemory:等可选配的存储器PCMCIA卡E:Flashmemory(read/write)闪存Z:InternalZPLIIstoredobjectlibrary(readonly)A:CF卡(可读写)默认存储器为DRAM调用对象时,搜索的优先顺序:DRAM,RAM,extraEPROM,internalZPLII(R:,B:,E:,Z:,*or?(All))指令种类格式指令(formatcommands)»以^开始»用于设定标签格式与数据»多条格式指令按顺序执行控制指令(controlcommands)»以~开始»迫使打印机立即执行某一个指定的操作»可以中断打印机数据缓冲器中的格式指令格式指令格式框架指令-formatbracketcommands标签定义指令-labeldefinitioncommands字段定义指令-fielddefinitioncommands字段默认指令-fielddefaultcommands格式默认指令-formatdefaultcommands格式旋转指令-formatrotationcommands打印机控制指令-printercontrolcommands文字数字字段指令-alphanumericfieldcommands条形码字段指令-barcodefieldcommands图像指令-graphicimagecommands格式指令有以下分类更改指令前缀符符号(^)是ASCII字符,等于5EHEX,94Decimal符号(~)是ASCII字符,等于7EHEX,126Decimal格式指令和控制指令的前缀符可以通过ZPLII指令进行更改»^CTor~CT(changetilde~)»^CCor~CC(changecaret^)简单的ZPLII实例^XA^LH30,30^FO20,10^AD^FDZEBRA^FS^FO20,60^B3^FDAAA001^FS^XZZPLII指令格式ZPLII指令由字首,指令代码和参数组成。^ADN,2,2字首指令代码参数很多ZPLII指令都是有参数,参数之间用间隔符“,”分开如果默认参数可以满足要求,可以不用指定这个参数的参数值^AA,,60指令的参数和默认值举例说明默认参数的用法:^AA,,60格式:^Af,o,h,w标签格式文件标签格式以^XA开始标签格式以^XZ结束各个域之间以^FS进行分隔ZPLII语言程序书写方法多行:^XA^FO100,75^BY3^B3N,N,100,Y,N^FD123ABC^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开始标签格式原点位置文本位置字体类型与大小打印的正文字符串结束标签格式ZEBRA内置字体内置15种位图字体,和一个矢量字体位图字体位图字体有固定的长宽比,单位Dots位图字体只能以整数倍放大,放大倍数2-10倍字符的宽度和高度可以独立设定矢量字体Scalablefont:可伸缩字体,可连续缩小与放大。字体高度与宽度取值范围为20–32000点。后缀可以是.FNT,.TTF,.TTE通过打印机平滑伸缩算法实现更改字体^Afo,h,w调用字体和定义放大倍数^XA^ABN,55,35^FDFONT1^FS^XZ字体名:A–Z,0-9定义打印机默认字体^CFf,h,w^XA^CF0,80^FO100,100^FDDefaultFont^FS^ABN,55,35^FO100,200^FDFontB^FS^FO100,400^FDFontSize?^FS^XZ使用外置字体-字体下载使用ZUD下载使用ZebraNetBridge下载使用ZebraDesigner下载使用~DY命令下载使用~DY命令下载字体命令形式:~DYd:f,b,x,t,w,data举例~DYE:FONTFILE.TTF,B,T,SIZE,,SIZE指文件字节数可以分两次发送到打印机外置字体使用定义字体名称^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^B3N,Y,,Y^FDABC123^FS^XZ开始标签格式原始位置条形码位置条形码系统设定[预置]结束标签格式条形码数据Code39条形码ZPLII图形图像打印打印方框和线条^GBGraphicBoxw=宽度h=高度t=边框厚度c=颜色r=制圆的度数打印圆形图案^GCGraphicCircle图像打印图像文件名:*.GRF图像必须是单色图像制作方法使用Ztools制作图象使用ZebraDesigner制作图象使用ZebraNetBridge转换图象使用ZTool工具转换图片文件为ZPL格式原图片必须是单色图片原图片格式必须是PCX,或是TIF使用ZebraDesigner制作图像在ZebraDesigner中选择正确的打印机型号制作带有需打印的图像标签将该标签打印至文件在标签文件中删除标签格式信息指定图像文件下载的目标驱动器保存文件后缀名为.GRF图像打印指令下载图形~DGR:SMILE.GRF,12012,39调用图形^XG^XA^FO50,50^XGR:SMILE.GRF,1,1^FS^XZ删除图形文件^XA^IDB:SCREW.GRF^XZ打印图片注意点固定图片保存位置经常更新的图片保存位置序列号打印序列号打印^XA^LH30,30^FO20,10^AF^FDZEBRA^FS^FO20,60^B3,,40,,^FDAA001^FS^FO20,180^AF^SNSERIALNUMBER00000000111,1,Y^FS^PQ10^XZ打印序列号^SN^SNSerializationData打印序列号^SN^SFSerializationField(withaStandard^FDString)Format^SFa,b模板打印保存标签模板^IS^ISImageSave功能:将标签格式以图形方式保存在打印机内存中,方便以后调用,和需要的可变信息组合为内容不同的标签格式ZEBRATECHNOLOGIESCORP保存标签模板^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^FDTECHNOLOGIESCORP^FS^FO200,600^FDPRINTEDBY:^FS^ISR:SAMPLE1.GRF,Y^XZPRINTEDBY:调用保存的标签模板^IL^ILImageLoad功能:调用已保存的标签格式^XA^ILR:SAMPLE1.GRF^FS^CF0,72,60^FO200,700^FDSHIRLEYDING^FS^XZZEBRATECHNOLOGIESCORPPRINTEDBY:SHIRLEYDING调用保存的标签模板^IL^XA^LH360,30^FO20,10^AF^FDZEBRA^FS^FO20,60^B3^FDAAA001^FS^POI^PQ2^PRB^XZ开始标签格式原始位置正文位置结束标签格式设置打印速度条形码位置设置打印量设置打印定方位(0或180度)设置打印量,打印比率和打印定方位格式标签打印保存标签格式^DFDownloadFormat将ZPL指令保存为文本格式,以便今后用其它数据替换使用^XF指令调用文本格式使用^FN标识数据^FN需要和^FD配合使用调用标签格式^XFRecallFormat调用保存的格式,变量打印^XA^DFR:FORMAT^FS^LH30,30^FO100,100^AF^FN1^FS^FO100,250^B3,,60,,^FN2^FS^XZ^XA^XFR:FORMAT^FS^FN1^FDZEBRA^FS^FN2^FDAAA001^FS^XZ^XA^XFR:FORMAT^FS^FN1^FDBEARS^FS^FN2^FDZZZ999^FS^XZ下载格式调用格式下载时打印机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必须与^GB指令结合使用每次使用反色打印,必须都要使用一次^FR打印区域的特殊效果标签的反色打印:^LR必须与^GB指令结合使用直到接收到^LRN,反转打印才失效打印区域的特殊效果镜像打印:^PM直到接收到^PMN,镜像打印才失效打印区域的特殊效果标签180°方向旋转打印^PO{N(normal)orI(invert)}如果一个格式里面有多个^PO指令,只有最后一个才有效。只有接收到下一个^PO指令时,前一个^PO指令才失效变量打印^FV^MC^XA^FO40,40^GB300,203,8^FS^FO55,60^CF0,25^FVVARIABLEDATA#1^FS^FO80,150^FDFIXEDDATA^FS^MCN^XZ^XA^FO55,60^CF0,25^FVVARIABLEDATA#2^FS^MCY^XZ^MC必须和^FV结合使用打印机控制命令初始化和删除指令^JB初始化FlashMemory»^XA^JBE^XZ»^XA^JBB^XZ»^XA^JBA^XZ警告:不要使用~EF和~EG^ID删除指定存储器内的目标文件:»^XA^IDE:*.FNT^FS^XZ–删除字体挡案»^XA^IDB:*.GRF^FS^XZ–删除图形挡案»^XA^IDR:*.ZPL^FS^XZ–删除标签格式~WC打印打印机配置参数^HH返回打印机配置参数~HS返回打印机状态^XA^WD*:*.*^XZ打印各驱动器内的内容^HW(^XA^HWR:*.*^XZ)返回各驱动器的内容打印机控制指令更改打印机设置~SD:设置打印颜色深度~JD:设置通讯诊断模式~TA:设置tearoff模式位