TSPL语言开发实例
以下代码内容为一个最简单标签的必备要素,以此为例,详解设计标签时必备的内容和要点。
一个基本的标签实例
1 | SIZE 60 mm,40 mm |
一张标签通常包含三个部分,即系统设定、打印内容设定和执行打印指令。
- 系统设定包括标签尺寸(SIZE、GAP)和清除缓冲区数据指令(CLS)等。
- 打印内容设定可以参考本文档卷标内容设计指令内容,本例中系打印文本。
- 执行打印指令用于打印出设计好的标签,在此指令发送后打印机才执行打印动作。
需要特别注意,在每一条指令结尾需要加入换行符,即字符串“\r\n”或 16 进制 0x0D 0x0A
语法说明
以下为打印标签时的常用控制指令(在飞印盒子测试页中默认会带有一段这种语法的控制指令):
SIZE
该指令用于设定卷标纸的宽度和长度。 使用公制单位,现在我们的标签大小为60mm*40mm。 注 : 200DPI:1mm = 8dots 使用公制单位,在单位与数字之间必须添加一个空。 指令示例: SIZE 60 mm,40 mm
GAP
该指令用于定义两张卷标纸间的垂直间距距离。 可以设置2mm或者不设置 指令示例: GAP 2 mm
CLS
该指令用于清除图像缓冲区(image buffer)的数据。 注:此项指令必须置于SIZE指令之后。 指令示例: CLS
该指令用于打印出存储于影像缓冲区内的数据 可设置打印多张,需放在全部指令最后的位置。 指令示例,打印一张: PRINT 1
TEXT
该指令用于打印字符串。
指令语法:
1 | TEXT x,y,"font",rotation,x-multiplication,y-multiplication,"content" |
以下是详细参数说明:
参数 说明
x 文字 X 方向起始点坐标
y 文字 Y 方向起始点坐标
font 字体名称
1 8×12 dot 英数字体
2 12×20 dot 英数字体
3 16×24 dot 英数字体
4 24×32 dot 英数字体
5 32×48 dot 英数字体
6 14×19 dot 英数字体 OCR-B
7 21×27 dot 英数字体 OCR-B
8 14×25 dot 英数字体 OCR-A
9 9×17 dot 英数字体
10 12×24 dot 英数字体
TST24.BF2 繁体中文 24×24Font(大五码)
TSS24.BF2 简体中文 24×24Font(GB 码)
K 韩文 24×24Font(KS 码)
rotation 文字旋转角度(顺时针方向)
0 0 度
90 90 度
180 180 度
270 270 度
x-multiplication X 方向放大倍率 1-10
y-multiplication Y 方向放大倍率 1-10
1 | 注意:五号字英文字母仅可打印大写字母 |
使用说明:
一倍倍率下,60mm宽的标签,可以打印19个全角中文字符或者39个半角字母数字,中文字体高度为24dtos。
TSPL打印时没有居中指令,需要手动设置
打印不会自动换行,超出宽度的文字将无法正常打印,所以多行文本,需要用到多个TEXT指令,每一打印文本的起始打印位置都需要手动设置,单位为dtos,即点阵数。60mm40mm的点阵比为480320。
常见的文字打印指令示例:
1 | TEXT 0,10,"TSS24.BF2",0,1,1,"一二三四五六七八九十二二三四五六七八九十" |
BAR
该指令用于在标签上画线。
指令语法:
BAR x,y,width,height
以下是详细参数说明:
参数 说明
x 线条左上角 X 坐标,单位 dot
y 线条左上角 Y 坐标,单位 dot
width 线宽,单位 dot
height 线高,单位 dot
指令示例:
1 | BAR 100,100,300,200 |
BARCODE
该指令用来画一维条码
指令语法:
1 | BARCODE x,y,"code type",height,human readable,rotation,narrow,wide,"content" |
以下是详细参数说明:
参数 | 说明 |
---|---|
x | 左上角水平坐标起点,以点(dot)表示 |
y | 左上角垂直坐标起点,以点(dot)表示 |
code type | 建议使用39或128 |
height | 条形码高度,以点(dot)表示 |
Human readable | 0 表示人眼不可识,1 表示人眼可识,即在条码下显示内容 |
rotation | 条形码旋转角度,顺时针方向 |
0 不旋转 90 顺时针方向旋转 90 度 180 顺时针方向旋转 180 度 270 顺时针方向旋转 270 度 | |
narrow | 窄 bar 宽度,以点(dot)表示 |
wide | 宽 bar 宽度,以点(dot)表示 |
content | 一维码内容 |
1 | 注:条码肉眼可见时,需要预留条码内容的显示位置,内容高度24dot |
指令示例:
1 | BARCODE 100,100,"128",50,0,0,2,4,"4600408762105840" |
该指令用来打印二维码
程序语法:
1 | QRCODE x,y,ECC level,cellwidth,mode,rotation,"data string" |
参数 | 说明 |
---|---|
_____________ | _____________________________________________ |
x | 二维码水平方向起始点坐标 |
y | 二维码垂直方向起始点坐标 |
_____________ | _____________________________________________ |
ECC level | 选择 QRCODE 纠错等级 |
L | 7% |
M | 15% |
Q | 25% |
H | 30% |
_____________ | _____________________________________________ |
cell width | 二维码宽度 1-10 |
mode | 手动/自动编码 |
A | Auto |
M | Manual |
_____________ | _____________________________________________ |
rotation | 旋转角度(顺时针方向) |
0 | 0 度 |
90 | 90 度 |
180 | 180 度 |
270 | 270 度 |
data string | 编码的字符串 |
_____________ | _____________________________________________ |
指令示例:
1 | QRCODE 50,50,M,6,A,0,"www.feyin.cn" |