前段时间做条码打印相关的东西,用的斑马打印机,用开源二维码生成库生成的二维码然后用winform自带打印,由于打印条码较小,打印出来的二维码比较模糊,识别率较低,发现斑马打印机自带的ZPL命令,特研究了一下。 一、ZPL简介 ZPL是斑马条码打印机的编程语言,利用zpl,编辑好一个打印的指令集,发送给条码打印机,条码打印机就会按照你事先编辑的命令去进行打印的工作。下面介绍一些简单常用的命令,写好的ZPL命令,可以在ZPL在线预览网站调试,地址:/viewer.html; 二、ZPL常用命令简介 1、^XA和^XZ 有效 ZPL 格式要求标签格式应以 ^XA 命令开始并以 ^XZ 命令结束。 2、^LHx,y ^LH 命令用于设置标签的起始位置。 标签的默认起始位置为左上角 (沿 x 轴和 y 轴的位置 0,0)。这是标签的坐标轴基准 点。此点下方和右侧的任何区域均可用于打印。 ^LH 命令可用于更改此基准点。例 如,当使用预打印标签时,使用此命令可将基准点移动到预打印区域下方。 此命令只会影响其后的字段。建议使用 ^LH 作为标签格式中优先输入的命令之一。 3、^FOx,y,z ^FO 命令用于设置字段起始位置,相当于标签起始 (^LH) 位置而言。通过沿 x 轴和 y 轴定义点 (与旋转角度无关), ^FO 可设置字段区的左上角。 4、^CFf,h,w ^CF 命令用于设置打印机使用的默认字体。 参数 f 可指定所有字母数字字段的默认字体。参数 h 是所有字母数字字段的默认高 度,而参数 w 是所有字母数字字段的默认宽度值。 5、^FD ^FD 命令用于定义字段的数据字符串。字段数据可以是除用作命令前缀 (^ 和 ~)外的任意可打印字符。 6、^FS ^FS 命令用于表示字段定义已结束。或者,还可将 ^FS 命令作为单个 ASCII 控 制码 SI (Control-O、十六进制 0F)使用。 7、^BQ 生成二维码的命令,该条码使用在后续 ^FD 字符串中指定的字段数据进行打印。 格式:^BQa,b,c,d,e a = 字段方向、b = 模式、c = 放大系数、d = H、 Q、 M、 L、e = N、 A、 B.K 8、^BC 生成Code128条码的命令。 格式:^BCo,h,f,g,e,m o = 方向: N = 正常、R = 旋转90度(顺时针)、I=反转180度、 B = 逆时针90度读取 h = 条码高度 (以点为单位) f = 打印注释行 g = 在条码上方打印注释行 e = UCC 校验位 9、^B7 ^B7 命令可生成 PDF417 条码 格式:^B7o,h,s,c,r,t o = 方向 h = 各层的条码高度 (以点为单位) s = 安全级别 c = 要编码的数据列数 r = 要编码的行数 t = 截断层右行指示符和终止图案 10、^BY ^BY 命令用于更改模块宽度 (以点为单位)、宽条与窄条的宽度比以及条码高 度 (以点为单位)的默认值。该命令可以根据需要在标签格式中多次使用。 三、例子 1、文本打印"123456ABCDEF" ^XA ^LH0,0 ^FO50,20 ^CF0,100,100 ^FD123456ABCDEF^FS ^XZ 2、QR二维码打印"123456ABCDEF" ^XA ^LH0,0 ^FO50,0 ^CF0,100,90 ^BQN,2,4 ^FDHA,123456ABCDEF^FS ^FO160,20 ^FD123456ABCDEF^FS ^XZ 3、PDF417条码打印 ^XA ^LH0,0 ^CF0,50,90 ^FO90,75 ^FD123456ABCDEF^FS ^FO150,5 ^BY5,3.0,70 ^B7N,,2,,,N ^FD123456ABCDEF^FS ^XZ 4、CODE128条码打印 ^XA ^LH0,0 ^FO100,10 ^BY3,3.0,70 ^BCN,,,,, ^FD123456ABCDEF^FS ^XZ 四、ZPL语言中文手册已上传,需要的,关注我后,私信发送"ZPL手册"即可自动回复。