跳到主要内容

标签打印机 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
```
  1. SIZE 设置打印区域大小
  2. GAP 设置打印间隙
  3. CLS 清除图像缓冲区 (image buffer) 的数据。 注:此项指令必须置于 SIZE 指令之后。
  4. TEXT 打印文字
  5. PRINT 打印,PRINT 1 表示打印一张

常用指令

TEXT 文字打印

```
TEXT x,y,"font",rotation,x-magnification,y-magnification,"text"
```

参数说明:

  1. x,y:文字的起始位置,单位是点,1mm=8 点
  2. font:字体,0-7,0-3 是英文字体,4-7 是中文字体 (中文也可以使用英文字体),五号字英文字母仅可打印大写字母,若要打印双引号时(“)在程序中请使用 [”] 来打印双引号
  3. rotation:旋转角度,0-0 度,90-90 度,180-180 度,270-270 度
  4. x-magnification:x 方向放大倍数
  5. y-magnification:y 方向放大倍数
  6. text:打印的文字

Tips:

  1. 1mm=8 点,打印不会自动换行,超出宽度的文字将无法正常打印,所以多行文本需要多个 TEXT 指令,可以使用 \r\n 换行

BAR 划线

```
BAR x,y,width,height
```

参数说明:

  1. x,y: 坐标起点,单位是点,1mm=8 点
  2. width: 线宽,单位是点,1mm=8 点
  3. height: 线高,单位是点,1mm=8 点

BARCODE 条形码

```
BARCODE x,y,"type",height,human readable,rotation,narrow,wide,"code"
```

参数说明:

  1. x,y: 坐标起点,单位是点,1mm=8 点
  2. type: 条形码类型,如:38, 128
  3. height: 条形码高度,单位是点,1mm=8 点
  4. human readable: 是否打印条形码下方的文字,0-不打印,1-打印。tips: 条码肉眼可见时,需要预留条码内容的显示位置,内容高度 24dots
  5. rotation: 旋转角度,0-0 度,90-90 度,180-180 度,270-270 度
  6. narrow: 窄条宽度,单位是点,1mm=8 点
  7. wide: 宽条宽度,单位是点,1mm=8 点
  8. code: 条形码内容

QRCODE 二维码

```
QRCODE x,y,ECC level,cellwidth,mode,rotation,"data string"
```

示例 QRCODE 50,50,M,6,A,0,"www.qq.com"

参数说明:

  1. x,y: 坐标起点,单位是点,1mm=8 点
  2. ECC level: 纠错等级,L-7%,M-15%,Q-25%,H-30%
  3. cellwidth: 二维码宽度,1-10
  4. mode: 编码模式,A-自动编码, M-手动编码
  5. rotation: 旋转角度,0-0 度,90-90 度,180-180 度,270-270 度
  6. data string: 二维码内容

其它指令

还有很多指令,这里不一一列举,有兴趣的可以参考指令集,文档中的 设置及系统指令标签内容打印指令 部分一般是通用的。