Zebra两种编程语言的完整比较,包含代码示例和迁移指南
Zebra Technologies为其热敏打印机开发了两种编程语言:ZPL(Zebra编程语言)和EPL(Eltron编程语言)。ZPL在20世纪90年代创建,作为EPL的继任者,后者自80年代Zebra收购Eltron Technologies以来一直存在。虽然两者都用于创建标签,但在语法、图形功能、条形码支持和性能方面有根本性差异。EPL于2010年正式停止更新,但在旧系统中仍然使用。本指南帮助您了解差异并决定何时迁移。
| 特性 | ZPL | EPL |
|---|---|---|
| 推出年份 | 1990年代 — 现代语言,持续开发中 | 1980年代 — 旧语言,2010年停止更新 |
| 基本语法 | 使用^(格式)和~(配置)的命令。示例:^XA...^XZ | 使用简单字母的命令。示例:N...P |
| 标签结构 | ^XA开始,^XZ结束。字段用^FO+^FD+^FS | N清除缓冲区,P打印。字段直接定位 |
| 一维条形码 | Code 128、Code 39、EAN-13、UPC-A、Code 93、Interleaved 2 of 5等 | Code 128、Code 39、EAN-13、UPC-A — 种类较少 |
| 二维条形码 | QR(^BQ)、DataMatrix(^BX)、PDF417(^B7)、Aztec(^BO) | 仅新型号支持PDF417和DataMatrix,无原生QR |
| 图形和图像 | ^GF用于图像,^GB用于方框,^GC用于圆形,^GD用于对角线 | 仅GW(图形写入)用于简单位图图像 |
| 字体 | 可缩放内置字体(0-9、A-Z),可下载TrueType,通过^CI28支持Unicode | 5种固定位图字体,不可缩放,不支持Unicode |
| 文本旋转 | 每个字段4种方向(N=0°、R=90°、I=180°、B=270°) | 4种旋转但仅适用于整个标签 |
| 序列化 | ^SN可配置增量、补零、多字段 | 使用C命令的基本序列化,灵活性较低 |
| 打印速度 | ^PR按标签控制速度(1-14英寸/秒) | S控制速度但粒度较低 |
| 打印模式 | ^MM支持撕纸、剥离、回卷、切刀和贴标机 | 模式较少,配置更有限 |
| 兼容打印机 | 所有现代Zebra(ZD、ZT、ZQ、ZE)。部分兼容TSC和SATO | 原始Eltron和旧Zebra(LP、TLP)。当前打印机不支持 |
| 支持和文档 | 更新的ZPL II手册,活跃社区,丰富示例 | 归档文档,2010年以来无更新 |
| 电商平台使用 | 京东、淘宝、拼多多和顺丰生成ZPL格式快递标签 | 没有现代平台生成EPL格式标签 |
^XA ^FO50,50 ^A0N,30,30 ^FD你好世界^FS ^XZ
N A50,50,0,3,1,1,N,"Hello World" P1
^XA ^FO50,50 ^BY2 ^BCN,100,Y,N,N ^FD123456789^FS ^XZ
N B50,50,0,1,2,3,100,B,"123456789" P1
^XA ^FO50,30^A0N,25,25 ^FD产品: Widget^FS ^FO50,70^BY2 ^BCN,80,Y^FDSKU001^FS ^FO40,20^GB350,150,2^FS ^XZ
N A50,30,0,2,1,1,N,"Product: Widget" B50,70,0,1,2,2,80,B,"SKU001" X40,20,2,390,170 P1
对于任何新项目,ZPL毫无疑问是正确的选择。它提供更多功能、更好的支持、最新的文档,是全球物流行业标准。如果您有现有的EPL代码,请按照本指南的步骤规划逐步迁移。如果使用非Zebra打印机,请使用ZPLPDF将ZPL代码转换为PDF,从任何品牌的打印机打印。