ZPL的一些简单指令
- ZPL的一些简单指令
- 前言
- 一、ZPL 介绍
- 二、ZPL 语法解析
- 1、标签开始、标签结束
- 2、标签原点位置设置
- 3、标签长度设置
- 4、标签文本打印深度设置
- 5、标签打印宽度设置
- 6、标签方向设置
- 7、标签元素定位
- 8、标签绘制矩形
- 9、标签输入字段
- 10、标签设置字段字体、大小
- 11、标签字段设置编码
- 12、标签字段设置字体标识符
- 13、标签绘制条形码
- 14、标签绘制二维码
ZPL的一些简单指令
前言
本文介绍 ZPL 的一些简单指令,有需要的读者可以点赞收藏,也欢迎在评论区进行讨论。
一、ZPL 介绍
ZPL (Zebra Programming Language) 是斑马 (Zebra) 条码打印机工业型号用的编程语言,兼容市面上的大部分条码打印机,可用于绘制文本、形状、条形码和图像等元素,编辑好指令,发送给条码打印机,条码打印机就会把 ZPL 所绘制的标签打印出来。
二、ZPL 语法解析
1、标签开始、标签结束
标签开始: ^XA
标签结束: ^XZ
在一张标签中,ZPL 代码总是以 ^XA
开始,以 ^XZ
结尾,形式大概就是 ^XA+标签内容+^XZ
;
ZPL 允许在一段代码中绘制多张标签,一堆代码中有几段 ^XA+标签内容+^XZ
,就有几张标签;
2、标签原点位置设置
标签原点位置设置: ^LH x, y
,参数为横纵坐标,起始位置为左上角(0,0)位置;
3、标签长度设置
标签长度设置: ^LL length
,参数为需要设置的标签长度;
4、标签文本打印深度设置
标签文本打印深度设置:^MD darknessModifier
,参数为标签打印的颜色深度,值越大,颜色越深。范围:0~30;实际使用中根据字体不同,这个指令可能不会生效;
5、标签打印宽度设置
标签打印宽度设置:^PW width
,参数为标签打印的宽度;
6、标签方向设置
标签方向设置:^PO orientation
,默认参数为N,可选 N 或者 I ,N 默认其实位置为左上角,I 的起始位置为右下角;
7、标签元素定位
标签元素定位:^FO x, y, alignment
,参数代表这个元素左上角在标签里的坐标;^FO
可以理解为标识这是一个元素(线条、文本、图片等);
8、标签绘制矩形
标签绘制矩形:^GB width, height, thickness, color, rounding
,参数为矩形的长和高、矩形边的宽度,线条的颜色(B或W,默认为黑色B),圆角;
示例代码:
^XA
^FO50,80^GB70,100,6,B,5^FS
^XZ
标签预览:
9、标签输入字段
字段开始:^FD data
字段结束:^FS
,也称之为字段分隔符
要输入一段字段,基本格式:^FD标贴Label^FS
,如果不通过 ^FO
定位元素为值,字段的起点会在标签的左上角位置出现;
10、标签设置字段字体、大小
标签设置字段字体、大小:^A font, height, width
,参数为字段字体、字段高度、字段宽度;
上图为 ZPL 默认的字体;
11、标签字段设置编码
标签字段设置编码:^CI charset, src1, dest1, src2, dest2, ...
,参数为字符集编码,打印中文一般使用 28
示例代码:
^XA
^CI28
^CFJ,30,30
^FO50,50^FD标贴Label^FS
^XZ
标签预览:
12、标签字段设置字体标识符
标签字段设置字体标识符:^CW fontName, path
,fontName
为自定义的字体标识符名称,可以在后续使用;path
为字体文件路径;
关于 ZPL 指令无法显示中文可以参考此篇文章:【Python_Zebra斑马打印机编程学习笔记(三)】解决ZPL指令无法显示中文的问题
13、标签绘制条形码
标签绘制条形码:^BC orientation, height, line, lineAbove, checkDigit, mode
参数 | 说明 |
---|---|
orientation | 方向,可选值为NRIB :N = 从左往右,R = 从下往上,I = 从右往左,B = 从上往下 |
height | 条形码高度,单位为点 |
line | 是否打印条形码内容,可选值Y/N,默认是Y |
lineAbove | 条形码内容打印位置,可选值为Y/N,默认是N |
checkDigit | 校验数位,可选值为Y/N,默认是N |
mode | 模式,可选值为N/U/A/D |
代码示例:
^XA
^FO50,190^BC,80^FD123456^FS
^XZ
标签预览:
14、标签绘制二维码
标签绘制二维码:^BQ orientation, model, magnification, errorCorrection, mask
二维码格式参数 | 说明 |
---|---|
orientation | 方向,可选值为N/R/I/B |
model | 可选值为1和2,和QR码的标准有关,2会比1更好识别一点,默认是2 |
magnification | 放大系数,可选1-10,数字越大二维码就越大 |
二维码信息输入采用 ^FD
指令
二维码信息参数 | 说明 |
---|---|
errorCorrection | 纠错能力,ECC标准中规定了4档二维码纠错能力,分别为L(7%), M(15%), Q(25%) 和H(30%),纠错百分比越高,纠错能力越强 |
mask | 掩码,支持参数A或M,对应自动(默认)或者手动。如果选择M,则还需要再额外加一位控制输入,告诉系统需要编码的是什么东西,通常用于需要中文输入的情况 |
代码示例:
^XA
^FO50,300^BQN,2,3^FDLA,{"date": "2024.2.26"}^FS
^XZ
标签预览: