menu

ZPL Notes

Posted on 25/04/2020

ZPL 是什么

ZPL ( Zebra Programming Language )是斑马公司( Zebra Technologies )的一个页面描述语言( page description language ),该语言主要用于打印标签。目前的版本是 ZIP II

该语言主要由命令(command)控制符( control character )组成的文本,

  • 命令:语法形式为命令 + 参数,命令是以 caret(^) 开头,参数是一系列以逗号分割的字符,目前大约有170多种命令。比如可以通过 ^ADN,n,m 命令控制字体的大小,其中 nm 分别代表字体大小和子间距,^ADN,18,10 就代表最小可设置值, ^ADN,180,100 代表最大可设置值。
  • 控制符:以 tilde(~) 开头。

总是以 ^XA 开头,以 ^XZ 结尾,示例如下:

^XA
^FO20,10
^ADN,90,50
^FDWikipedia^FS
^XZ

上述代码最终显示效果如下:

常用命令

  • ^XA:表示 ZPL 的开头
  • ^XZ:表示 ZPL 的结尾
  • ^LH:Label Home,用法:^LHx,y。用于设置标签的坐标原点,标签的坐标原点默认在左上角(0, 0),通过本标签设置其他命令位置的参考点。
  • ^FO: Field Origin,设置相对于 ^LH 的 Filed 位置。用于控制标签的位置,用法 ^FOx,y,z, 其中 x 表示x方向的点数,取值范围为 0-32000,默认值为0,y值表示y方向的点数。
  • ^FT: Field Typeset,与 ^FO 的意义相同?
  • ^FD:Field Data,表示要在 Field 中展示的数据。
  • ^FS: Field Separator,表示一个 Field 的结束,一个 Field 以 ^FO^FT 开头,以 ^FS 结束。
  • ^CI:Change International Font/Encoding,用于非 ascii 字符的显示,比如 ^CI28 就可以显示 utf-8 的中文字符。

方框和线

^GB 是用于生成方框或直线的命令,语法为:^GBw,h,t,c,r,各个参数及其意义如下表:

参数 解释
w = box width (in dots) values: t 至 32000
defalut:t 或 1
h = box height values: t 至 32000
defalut:t 或 1
t = border thickness values: 1 to 32000
default: 1
c = line color values:
B = black
W = white
default: B
r = degree of conerrounding values: 0(no rounding) to 8 (heavies rounding)
defalut: 0

注意尺寸参数是以点来表示的,实际长度取决于打印机设置的分辨率。

示例:

Code39

Code39 条形码是许多行业的标准,其中就包含美国国防部。生成该条形码的命令是 ^B3,语法为: ^B3o,e,h,f,g,各个参数及其意义如下:

参数 解释
o = orientation values:
N = normal
R = rotated 90 degrees
I = inverted 180 degrees
B = read from bottom up, 270 degrees
defult: current ^FW value
e = mod - 43 check digit values:
Y = yes
N = no
default: N
h = bar code height(in dots) values: 1 to 32000
default: values set by ^BY
f = print interpretation line values:
Y = yes
N = no
defalut: Y
g = print interpretation line above code values:
Y = yes
N = no
defalut: N

示例:

二维码

生成二维码的命令为 ^BQ,语法为:^BQa,b,c,d,e,各个参数的意义如下:

参数 解释
a = field orientation values: N
b = model values: 1(original), 2(enhanced)
default: 2
c = magnification factor vaules: 1 - 10
default:
1 on 150 dpi printers
2 on 200 dpi printers
d = error correction values:
H = ultra -high reliability level
Q = high reliability level
M = standard level
L = high density level
default:
Q = if empty
M = invalid values
e = mask value values: 0 - 7
defalue: 7

二维码所表示的数据是紧邻 ^BQ 命令之后的第一个 ^FD 命令中的文本内容。此时 ^FD 命令有4个开关参数,其中两个是必选,一个是可选,另一个是根据一个选项的取值决定。这4个开关分别是:

  • 混合模式:<D>,, optional
  • 纠错级别: <H, Q, M, L> mandatory
  • 数据输入: <A, M>,, mandatory
  • 字符模式 <N, A, Bdddd, K>,如果数据输入模式为M,则必选,否则为可选。

示例:

^XA
^FO100,100 
^BQN,2,10 
^FDMM,AZPL II BQ command^FS 
^XZ

参考资料:

ZPL
Top