斑马打印机打印中文教程
斑马打印机在打印中文的时候有时候非常不方便,通过下面的指令我们可以方便的打印中文
打印机使用多种端口通信,直接通过串口/USB口/网络端口/蓝牙端口将指令字符串发送给打印机即可。下面我们先看看普通的打印英文指令。
1、Hello World!
指令:
1 2 3 4 5 6 | ^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表示将产生黑底白字(需要先绘制黑色填充方框)
如以下指令:
1 2 3 4 5 6 7 8 | ^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、打印中文字符
指令:
1 2 3 4 5 6 7 8 9 10 | ^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是宋体,可参考
尝试设置更多字体类型,但是打印出来没啥区别。
参数d代表字体后缀名,一般是TTF。
3、打印中文二维码
1 2 3 4 5 6 7 | ^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:二维码的内容
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现