新闻资讯
斑马打印机指令简介, ZPL 学习资料
最新ZPL手册更新2023年11月版本
ZPL手册中有详细的说明,可以参考下面的方法学习各个指令的使用方法
** 本文尾部更新内容**
**最新增加的^FE指令和使用方法**
1打印方法
打印机使用多种端口通信,直接通过串口/USB口/网络端口/蓝牙端口将指令字符串发送给打印机即可。
1、Hello World!
指令:
^XA
^JMA^LL200^PW680^MD10^PR2^PON^LRN^LH0,0
^FO10,30
^A0N,72,72
^FD Hello World!^FS
^XZ
打印实现效果:
说明:
打印机的指令用“^”作为开头,任何打印指令都是从^XA开始,到^XZ结束。指令的参数直接放在指令后面,如指令
^FDstring^FS
^FD是一段字符串的开头,^FS是一段字符串的结尾,string就是代表要打印的字符串
上述
^FD Hello World!^FS
就是以表示指定要打印的字符串为“ Hello World!”(没错,包含前面的空格)
同时,要打印该字符,还必须先指定它所在的坐标(如^FO10,30)和字体参数(如^A0N,72,72)
^FOx,y
x代表横坐标,y代表纵坐标,如果你将x的值改为20,那么“ Hello World!”将会右移一段距离。
^Aab,c,d
^A有a,b,c,d四个参数
a,字体类型,的取值范围从【0-9,A-Z】,0是默认的内置字体,若需要其他字体则需要设置,在打印中文这一节将会说明。
b,旋转角度,注意参数a和b之间并没有逗号,有【N,R,I,B】四个选项,分别代表正常,顺时针旋转90°,180°、270°。
c,字符高度
d,字符宽度
^JMA^LL200^PW680^MD10^PR2^PON^LRN^LH0,0
这条指令设置打印机的参数,可以拆分如下:
^JMA ——每毫米设定点,A表示【24 dots/mm, 12 dots/mm, 8 dots/mm or 6 dots/mm】
^LL200 ——标签高度,这里是200个点
^PW680 ——标签宽度,这里是680个点
^MD10 ——标签深度,可选值【-30~30】,值越高标签浓度越高
^PR2 ——打印速度,实际这是一个多参数的指令,^PRa,b,c,b和c不设置则为默认值。其中a是打印速度,可选值【1-14,A-E】,值越大速度越快,其中字母【2=A,3=B,4=C,6=D,8=E】,即设置A与设置2无异。b和c的参数用于设置推出和回卷速度,默认即可。
^PON ——打印方向,有【N,I】两个值可选,N是正常,I是倒置(标签底部先出)
^LRN ——打印反转,有【Y,N】两个值可选,N是正常,Y表示将产生黑底白字(需要先绘制黑色填充方框)
如以下指令:
^XA
^JMA^LL200^PW680^MD30^PR2^PON^LRY^LH0,0
^FO8,28
^GB400,50,100^FS
^FO10,30
^A0N,72,72
^FD Hello World!^FS
^XZ
打印输出效果:
^LH0,0 ——标签起点
2、打印中文字符
指令:
^XA
^SEE:GB18030.DAT^FS
^CWZ,E:SIMSUN.FNT
^CI26
^JMA^LL200^PW680^MD10^RP2^PON^LRN^LH0,0
^FO20,100
^AZN,72,72
^FD中123文ABC测试^FS
^PQ1
^XZ
打印输出效果:
说明:
中文字符的打印需要预先设置字体库,而且在传输的时候需要用GB2312的编码方式传输,否则会出现乱码。
^AZN,72,72
注意第一个参数Z,它代表使用我们自己设置的Z字体,72代表字体的大小,由于使用了点阵字体,这里的大小必须是24的整数倍。
^SEE:GB18030.DAT^FS
该指令共有三个参数
^SEa:b.c
参数a代表本地编码表的选择,可选值有【R,E,B,A】这四个参数的值定义暂时没有详细的资料,目前知道它用于区分ZPL指令和ZPL II指令,默认为R,这里使用E。
参数b代表编码的名称,目前网上找到的资料都是使用GB18030,暂时没有发现其他编码。
参数c代表编码的后缀名,一般是DAT。
^CWZ,E:SIMSUN.FNT
该指令共有4个参数
^CWa,b:c.d
参数a代表设置的这个字体编号,可选值【A-Z和0-9】,当这里设置了以后,^A的第一个参数才能引用到这个字体。
参数b同^SE的参数a。
参数c代表字体名称,这里的SIMSUN是宋体,可参考
https://blog.csdn.net/amy_king_0/article/details/54141460
尝试设置更多字体类型,但是打印出来没啥区别。
参数d代表字体后缀名,一般是TTF。
中文字体导入使用参考:
3、打印中文二维码
^XA
^JMA^LL450^PW700^MD0^PR3^PON^LRN^LH0,0
^CI28
^FO200,30
^BQN,2,10
^FDHM,B0200 中文测试!123#测试¥ABC%测试^FS
^XZ
打印输出效果:
说明:
该二维码有时扫不到,需要拿远一点才扫得到,而且打印机在打印了中文字符以后,需重新开关打印机清除缓存,才能打印。
其中^BQN,2,10是指定二维码,指令格式如下:
^BQa,b,c
a代表二维码方向,默认是N
b代表二维码的版本,可选值有【1,2】,1是原始版本,2是增强版本,推荐用2,因为1扫不出来。
c代表二维码的放大程度,可选值【1-10】
注意二维码的打印还需要与^FD配合,当我们使用^BQ这个函数时,^FD必须设置相关的参数
^FDab,cd^FS
a:错误纠正率,【H,Q,M,L】H是超高可靠度,L是高密度,建议使用H
b:数据输入模式,【A,M】A是自动模式(参数c可省略),M是手动模式(需要指定参数c的字符类型)
c:字符模式,【N】数字,【A】字符,【B】字节,【K】Kanji(日文汉字)
d:二维码的内容
2023 年更新 ^FE 连接数据指令。
^FE
通过引用 ^FN 字段,^FE 命令允许字段数据连接和子串提取。
^FE 命令必须用在每条 ^FD 命令之前,并且只适用于该 ^FD 字段。
如果一个 ^FE 命令没有紧接在一个 ^FD 命令之前,则该 ^FD命令没有激活字段连接字符。
格式:^FEa
^FE指令能很方便的实现脱机打印中的数据组合处理
^FE目前支持机型
Supported Zebra Printers
• ZD421C
• ZD421D
• ZD621D
• ZD621T
• ZT411
• ZT421
• ZT510
• ZT610
• ZT620