Zebra条码打印机编程概要

上传人:文**** 文档编号:70751968 上传时间:2022-04-06 格式:DOC 页数:6 大小:824KB
返回 下载 相关 举报
Zebra条码打印机编程概要_第1页
第1页 / 共6页
Zebra条码打印机编程概要_第2页
第2页 / 共6页
Zebra条码打印机编程概要_第3页
第3页 / 共6页
点击查看更多>>
资源描述
精选优质文档-倾情为你奉上Zebra条码打印机编程概要条码打印机是一种专业的打印设备,其打印实现方式与普通的激光、喷墨或针式打印机有所不同,世界各大条码打印设备厂商生产的打印机都采用了各自不同的打印语言以实现其打印,如Zebra系列的ZPL,Eltron的EPL,Datamax的DPL等,与普通打印方式相比,采用打印语言的优点在于速度快,精度高,但由于没有统一的标准打印语言,使得用户在使用不同机器时会产生一定的麻烦,好在各种打印语言的语法比较类似,上手也是比较简单的。目前的条码打印主要采用专业的商用条码打印软件,使用方便、简单,功能强大,且提供了对各类型条码打印设备的接口,适用于需经常变换打印格式、内容的用户,如专业印刷厂商等,但此类软件的价格也较昂贵。对于一些采用了企业管理系统的用户,其打印标签的格式通常已较固定,因此可在软件系统中嵌入条码打印部分。一般来说,可采用以下几种方式:直接使用条码打印机的条码语言编写程序;采用各种专业控件提供商编制的条码控件;使用一些高级条码打印软件,如CodeSoft、LabelView提供的ActiveX技术等。这几种方式在方便性、精确性及经济性等方面各有其优缺点,用户可根据需要自行选择,这里,主要对第一种方式给出较为详细的使用方法。ZPLII是Zebra系列打印机的打印语言,在ZPL的基础上做了一定的更新,其语法通俗易懂,在这里对其条码、文字、图形打印部分给予一一介绍。基本标签示例:XA 标签格式开始命令LH30,30 Label Home position设置标签起始参考点坐标为30,30,默认为0,0FO20,10ADFDEXAMPLEFS FO20,10-设置数据域起始坐标,距参考点20,10 AD-设定字体为D(内部字体) FD-数据域开始命令 EXAMPLE实际打印内容 FS-数据域分隔命令FO20,60B3FDAAA001FS B3-选择条码类型为39码XZ 标签格式结束命令由上例可见,ZPLII的命令使用还是相当简单的。下表中,对ZPLII一些常用命令做出解释命令名释义及用法XA标签格式开始命令,每张标签打印都需以此命令开头LHx,y设置标签起始参考点坐标,不使用此命令时默认为0,0x:x轴坐标(0-9999),y:y轴坐标(0-9999)注:计量单位为点(dot)200dpi机器,8点=1mm 300dpi机器,12点=1mmLTx标签内容上下(Y轴)位置整体移动x:移动的数值,范围:-120 - +120点LSa标签内容左右(X轴)位置整体移动a:移动的数值,范围:-9999 - +9999点FOx,y设置数据域(包括文字、条码、图形等)起始坐标(左上角)FDa定义打印数据字符,a:打印内容FS数据域分隔命令Af,o,h,w打印文字格式定义f:字体,默认为0,选择范围:A-Z,0-9(均为打印机内部字体,非TrueType字体)o:文字方向,N=普通,R=旋转90度,I=旋转180度,B=旋转270度h:字符高度,范围:10-1500点w:字符宽度,范围:10-1500点BYw,r,h设定条码默认参数w:条宽,缺省为2点,选择范围:1-10点r:条空比率,缺省为3.0,选择范围:2.0-3.0h:条码高度B3o,e,h,f,g打印39码o:条码方向e:Mod-43校验位,N=No(默认),Y=Yesh:条码高度,范围:1-9999点f:是否打印字符行,Y=Yes(默认),N=Nog:字符行位置,N:条码下方,Y:条码上方BCo,h,f,g,e,m打印128码e:UCC校验位,N=No(默认),Y=Yesm:模式,一般设为A(自动选择)或忽略不计PRp打印速率p:速度2-8(或A-E)=2英寸/秒-8英寸/秒PQq打印数量q:总数量,选择范围:1-GBw,h,t打印方框w:方框宽度,h:方框宽度,t:线宽DGd:o.x,t,w,DATA下载图形t:图形大小,计算方法为:x (点/毫米)(y(点/毫米)8x:图形宽度(毫米),y:图形高度(毫米)w:每行字节数,计算方法为x (点/毫米) 8DATA:图形的ASCII16进制字符XGd:o.x,x,y调用图形进行打印d:存储图形的设备(Ram/FlashRam等)o.x:图形文件名,默认扩展名为GRFx:x轴缩放系数y:y轴缩放系数IDd:o.x删除图形注:以上命令中如果不填写某些参数,则会使用默认参数,速度控制,位置调整等控制命令需置于标签内容设置命令之前,也可忽略这些控制命令,直接在打印机上调节。以上是一些ZPLII的主要打印用命令,一些较不常用的打印及控制命令未做说明,用户也最好不要轻易使用,以免造成机器软硬件设置的混乱。使用ZPLII编写好一个标签格式文件后,可使用DOS命令COPY将其发送至打印机端口进行打印,在编写系统软件时当然也可以采用这种方法,但其效率很低。下面以VB为例,介绍如何在VB中使用ZPLII打印标签。Private Sub CmdPrint_Click() Open LPT1 For Output As #1 Print #1, XA Print #1, LH30,30 Print #1, FO20,10ADFDEXAMPLEFS Print #1, FO20,60B3FDAAA001FS Print #1, PQ1,0,0,Y Print #1, XZ Close #1End Sub上述方法是将ZPLII命令直接发往LPT1并行打印端口。在编程中,中文字符的打印应用较多,而如果在程序中直接写入中文字符,打印出的结果会是乱码,针对这种情况,我们可以采用一个动态链接库,使用其中的函数将采用了各种TrueType字体的中文(包括任何语种的文字)转换成16进制码,使得打印机以图形打印方式打印出文字。具体实现方式如下,同样以VB为例。Private Declare Function GETFONTHEX Lib fnthex32.dll (ByVal chnstr$, ByVal fontname$, ByVal chnname$, ByVal orient%, ByVal height%, ByVal width%, ByVal bold%, ByVal italic%, ByVal hexbuf$) As IntegerPrivate Sub Command1_Click() Dim nCount As Integer Dim cBuf As String * 21000 nCount = GETFONTHEX(中文字符打印测试, 宋体, chnstr01, 0, 30, 0, 1, 0, cBuf) Open LPT1 For Output As #1 Print #1, Mid(cBuf, 1, nCount) Print #1, XA Print #1, PRBFS Print #1, BY3,3.0FS Print #1, FT30,190BEN,70,Y,NFD2FS Print #1, FO30,15XGchnstr01,1,1FS Print #1, PQ1,0,0,Y Print #1, XZ Print #1, XA Print #1, IDchnstr01FS Print #1, XZ Close #1End SubVC示例Void function writeZebra()FILE *fhandle;fhandle=fopen(zebra.txt,w+);fputs(XAr,fhandle);fputs(LH30,30r,fhandle);fputs(FO20,10ADFDEXAMPLEFSr,fhandle);fputs(FO20,60B3FDAAA001FSr,fhandle);fputs(PQ1,0,0,Yr,fhandle);fputs(XZr,fhandle);fputs(n,fhandle);fclose(fhandle);:CopyFile(zebra.txt,LPT1,TRUE);return;DELPHI示例function GETFONTHEX(outStr,lfFaceName,outstrname:Pchar;lfOrientation,lfHeight,lfWidth,lfBold,lfItalic:Integer;hexBuf:PCHAR):HINST;stdcall;implementationfunction GETFONTHEX;external FNTHEX32.DLL;.procedure TForm1.BtnPrintClick(Sender: TObject);var lpt:textfile;cbuf:pchar;str:string;begin assignFile(lpt,LPT1); rewrite(lpt); str:=测试文字;/以下调用转换函数将TrueType文字(中文)转换为图形并发送至打印机内存中,参数说明见附录cbuf:=strAlloc(21000); GETFONTHEX(pchar(str),黑体,strtest,0,32,0,0,0,cbuf); writeln(lpt,cbuf); strdispose(cbuf); writeln(lpt,XA); writeln(lpt,FO10,240A0N,60,60FDTESTFS); /使用打印机内部字体0打印文字“TEST”writeln(lpt,FO10,10XGstrtest,1,1FS);/打印TrueType文字(中文)writeln(lpt,FO10,100BCN,100,Y,N,N,AFDFS); /打印128条码,内容为“”,高度为100dots writeln(lpt,PQ1);/打印一张标签 writeln(lpt,XZ);writeln(lpt,XA); writeln(lpt,IDstrtestFS);/清空打印机中的图像缓存 writeln(lpt,XZ); CloseFile(lpt);end;附:GETFONTHEX函数参数说明* 1) LPSTR outStr, / 输出字符串的内容 * 2) LPSTR lfFaceName, / TrueType字体名称* 3) LPSTR outstrname /输出字符串的名称* 4) short int lfOrientation, / 旋转方向: 0,90,180,270* 5) short int lfHeight, / 字体高度 ,对于200dpi打印机,PC中的12号字在打印机中数值相当于32* 6) short int lfWidth, / 字体宽度 ,汉字一般设为0,为方块字* 7) short int lfBold, /字体加粗* 8) short int lfItalic, / 斜体 * 9) LPSTR hexBuf / 接收转换后图形的缓冲区专心-专注-专业
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!