斑马打印机指令简介

0、打印方法

打印机使用RS232通信,直接通过串口将指令发送字符串即可。

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,B】,A表示【24 dots/mm, 12 dots/mm, 8 dots/mm or 6 dots/mm】,B表示【12 dots/mm, 6 dots/mm, 4 dots/mm or 3 dots/mm】,默认A
^LL200 ——标签高度,这里是20mm
^PW680 ——标签宽度,这里是68mm
^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代表字体后缀名,一般是FNT。

在使用python发送打印指令时,由于使用读取txt的方式发送打印指令,需要检查文本文档编码是否为UTF-8,方法是点击文件-另存为时查看编码

同时在开头添加编码说明

如果不是UTF-8,可能会出现乱码。

python代码:
https://download.csdn.net/download/bfz_50/10650435
运行前需先导入pyserial。
PS:由于早期用py2.7无法指定发送的编码模式,建议用py3.7,并指定发送时的编码模式为gb18030
serial.write(printCommand.encode(‘gb18030’))

3、打印中文二维码

^XA^JMA^LL450^PW700^MD0^PR3^PON^LRN^LH0,0
^CI26
^FO200,30
^BQN,2,10
^FDHM,B0200 中文测试!123#测试¥ABC%测试^FS^XZ



说明:
该二维码有时扫不到,需要拿远一点才扫得到,而且打印机在打印了中文字符以后,需重新开关打印机清除缓存,才能打印。

python2.7无法通过txt的方式打印该二维码,必须通过字符串的方式,代码如下:

#!/usr/bin/env python
# -*- coding: cp936 -*-
# -*- coding: utf-8 -*-#打印机需重新开关,可能是清缓存import serial#打开串口
serialPort="COM3"   #串口
baudRate=9600       #波特率
ser=serial.Serial(serialPort,baudRate,timeout=0.5)print "参数设置:串口=%s  \n波特率=%d"%(serialPort,baudRate)
printCommand='''
^XA^JMA^LL450^PW700^MD0^PR3^PON^LRN^LH0,0
^CI26
^FO200,30
^BQN,2,10
^FDHM,B0200 中文测试!123#测试¥ABC%测试^FS^XZ'''print printCommand
ser.write(printCommand)
ser.close()

其中^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:二维码的内容

4、模板

由于编码问题,花了很长时间没有办法将中文二维码和中文字符同时保留在一个页面上,所以考虑只保留中文字符,不使用中文二维码。
指令:

^XA
^SEE:GB18030.DAT^FS
^CWZ,E:SIMSUN.FNT
^JMA^LL800^PW700^MD0^PR3^PON^LRN^LH0,0
^CI26^FO180,50^A0N,130,130
^FD1234^FS^FO600,50^AZN,96,96
^FD补^FS^FO600,50^GB95,95,1^FS^FO0,200^A0N,80,80
^FD20001234^FS^FO500,220^A0N,70,70
^FDAB123^FS^FO0,300^A0N,80,80
^FD20171234ABCD^FS^FO550,300^A0N,70,70
^FDNo.1^FS^FO0,450^AZN,48,48
^FD毛重:478.03 g^FS^FO0,500^AZN,48,48
^FD皮重:178.03 g^FS^FO0,550^AZN,48,48
^FD净重:300.00 g^FS^FO380,400
^BQN,2,6
^FDHM,B0200 1234#20001234#AB123#20171234ABCD#No.1#pi478.03g#mao178.03g#jing300.00g^FS^PQ1
^XZ

效果:

说实话markdown升级了以后很不习惯,每个^前面都要加转义字符\,不然会变成上标。

【打印机】斑马打印机指令简介相关推荐

  1. Zebra斑马打印机指令编程进阶(语言通用)--利用指令绘制出图像打印

    之前介绍过Zebra的入门打印,由于Zebra指令繁多,并且自带字体不能打印中文,如果打印内容中有中文的话,还是推荐大家先用Graphic类先画好自己想要的image,然后将整张图片进行打印.而且调试 ...

  2. java调用zebra_java调用斑马GK888t打印机(ZPL指令)

    在项目中使用斑马打印机遇到了如下问题: 在实际打印信息前,需要修改打印机驱动设置,主要是设置打印颜色深度,默认值一般会打印的比较浅.通常情况下,在设置的颜色深度后,打印机能够很好的工作.但是如果我将程 ...

  3. C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)

    在批量打印商品标签时一般都要加上条码或图片,而这类应用大多是使用斑马打印机,所以我也遇到了怎么打印的问题. 一种办法是用标签设计软件做好模板,在标签设计软件中打印,这种办法不用写代码,但对我来说觉得不 ...

  4. C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)...

    在批量打印商品标签时一般都要加上条码或图片,而这类应用大多是使用斑马打印机,所以我也遇到了怎么打印的问题. 一种办法是用标签设计软件做好模板,在标签设计软件中打印,这种办法不用写代码,但对我来说觉得不 ...

  5. C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)【转】...

    原文地址:http://blog.csdn.net/ldljlq/article/details/7338772 在批量打印商品标签时一般都要加上条码或图片,而这类应用大多是使用斑马打印机,所以我也遇 ...

  6. C#调用斑马打印机打印条码标签(含源码)(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)

    在批量打印商品标签时一般都要加上条码或图片,而这类应用大多是使用斑马打印机,所以我也遇到了怎么打印的问题. 一种办法是用标签设计软件做好模板,在标签设计软件中打印,这种办法不用写代码,但对我来说觉得不 ...

  7. 发送ZPL指令到斑马打印机,并监控打印成功或者失败的状态信息

    Visual C# 入门 本文共分为两个部分: 第一部分:介绍如何与Zebar进行连接,把ZPL指令或者模板文件发送到斑马打印机进行打印. 第二部分:介绍如何接收Zebar进行打印之后如何得到斑马打印 ...

  8. Zebra斑马打印机编程C#--入门级别打印

    该篇介绍了Zebra打印机打印中文+英文+图片的方法,如果是单单打印英文的话,可使用Zebra自带指令打印Zebra利用指令绘制出图像打印.还有一篇博客是介绍Zebra三种打印方式的利弊Zebra斑马 ...

  9. 斑马打印机客户端GET和POST,以及后端两种打印方式。

    斑马打印机客户端GET和POST,以及后端两种打印方式. 背景环境:打印机安装在客户端外网.当用户登录时,通过ajax取服务器数据,返回打印机命令,然后客户端通过JS发送给斑马打印机. 1.使用Get ...

最新文章

  1. 有源晶振和无源晶振的区别
  2. 开源:Angularjs示例--Sonar中项目使用语言分布图
  3. 同一网段还是跨VLAN的取舍
  4. python四大软件-太牛逼!一款软件几乎可以操作所有的数据库!
  5. WebClient DownloadFile 用法
  6. 后缀树和后缀数组的一些资料收集
  7. Cisco无线AP上联口为trunk时无法注册故障处理
  8. 【2012百度之星资格赛】G:聊天就是Repeat
  9. MySQL explain 命令
  10. 如何在VB中使用正则表达式
  11. Linux -Spark安装
  12. 业内最小体积SOP8封装,带UART输出,高精度免校准计量芯片HLW8110
  13. 【更新于2019】SCI EI 索引最新查询方法(已验证有效)
  14. 三重积分(Triple Integral)
  15. Spring Boot使用@RepeatSubmit 防止重复提交
  16. Android 仿doodle jump小游戏
  17. Caucho卷土从来了
  18. php nodejs 慢多少,node.js,_nodejs前端频繁post 导致很卡的问题,node.js - phpStudy
  19. MAC系统IDEA工具栏没有svn图标,svn项目也不显示修改信息
  20. Python参数校验工具:validate.py

热门文章

  1. 如何取消程序的默认打开方式 windows亲测简单有效!
  2. python绘制糖葫芦_冰糖葫芦怎么画
  3. Docker 大热,还不了解 Dockerfile 你就OUT啦~
  4. python 中阶乘怎么打_阶乘python怎么打
  5. vue 界面在苹果手机上滑动点击事件等卡顿解决方案
  6. 【工具】目前几种常见的线上接口文档管理平台的比较
  7. ## 弱鸡的第二次线上赛总结(TKK18no.4)
  8. windows11 任务栏和开始菜单都不见了怎么办?
  9. 造车新势力也下场了,滴滴巨亏390亿也拦不住车企布局出行的步伐
  10. zsh与oh-my-zsh ← 阳志平的个人网站::技术 zsh与oh-my-zsh ← 阳志平的个人网站::技术...