标签打印机 TSPL 语言
最近开发的一个项目需要用到标签打印机,Windows 下可以直接使用,和普通打印机一样调整。但是手机端(小程序)需要连接蓝牙发送打印指令。
打印机的指令语言有很多,比如 ESC、CPCL、TSPL 等,我们买的打印机支持很多协议,但是个人感觉 TSPL 比较好用,所以选择了 TSPL。
基本实例
```
SIZE 60 mm,40 mm
GAP 2 mm
CLS
TEXT 50,50,"4",0,1,1,"DEMO FOR TEXT"
PRINT 1
```
- SIZE 设置打印区域大小
- GAP 设置打印间隙
- CLS 清除图像缓冲区 (image buffer) 的数据。 注:此项指令必须置于 SIZE 指令之后。
- TEXT 打印文字
- PRINT 打印,
PRINT 1
表示打印一张
常用指令
TEXT 文字打印
```
TEXT x,y,"font",rotation,x-magnification,y-magnification,"text"
```
参数说明:
- x,y:文字的起始位置,单位是点,1mm=8 点
- font:字体,0-7,0-3 是英文字体,4-7 是中文字体 (中文也可以使用英文字体),五号字英文字母仅可打印大写字母,若要打印双引号时(“)在程序中请使用 [”] 来打印双引号
- rotation:旋转角度,0-0 度,90-90 度,180-180 度,270-270 度
- x-magnification:x 方向放大倍数
- y-magnification:y 方向放大倍数
- text:打印的文字
Tips:
- 1mm=8 点,打印不会自动换行,超出宽度的文字将无法正常打印,所以多行文本需要多个 TEXT 指令,可以使用
\r\n
换行
BAR 划线
```
BAR x,y,width,height
```
参数说明:
- x,y: 坐标起点,单位是点,1mm=8 点
- width: 线宽,单位是点,1mm=8 点
- height: 线高,单位是点,1mm=8 点
BARCODE 条形码
```
BARCODE x,y,"type",height,human readable,rotation,narrow,wide,"code"
```
参数说明:
- x,y: 坐标起点,单位是点,1mm=8 点
- type: 条形码类型,如:38, 128
- height: 条形码高度,单位是点,1mm=8 点
- human readable: 是否打印条形码下方的文字,0-不打印,1-打印。tips: 条码肉眼可见时,需要预留条码内容的显示位置,内容高度 24dots
- rotation: 旋转角度,0-0 度,90-90 度,180-180 度,270-270 度
- narrow: 窄条宽度,单位是点,1mm=8 点
- wide: 宽条宽度,单位是点,1mm=8 点
- code: 条形码内容
QRCODE 二维码
```
QRCODE x,y,ECC level,cellwidth,mode,rotation,"data string"
```
示例
QRCODE 50,50,M,6,A,0,"www.qq.com"
参数说明:
- x,y: 坐标起点,单位是点,1mm=8 点
- ECC level: 纠错等级,L-7%,M-15%,Q-25%,H-30%
- cellwidth: 二维码宽度,1-10
- mode: 编码模式,A-自动编码, M-手动编码
- rotation: 旋转角度,0-0 度,90-90 度,180-180 度,270-270 度
- data string: 二维码内容
其它指令
还有很多指令,这里不一一列举,有兴趣的可以参考指令集,文档中的 设置及系统指令
与 标签内容打印指令
部分一般是通用的。