热敏打印机的协议很容易被低估。打印机可以在 USB 或 Wi-Fi 上被发现、接受连接,却仍然吐出一张空白标签或满是命令文本的纸。连接其实是通的,只是打印机看不懂描述标签所用的语言。
简短的结论是:发送原始命令时,ZPL II 是务实的首选目标,因为多家大厂都记录了兼容模式。对以 TSC 设备为主的场景,TSPL 或 TSPL2 是有用的第二目标。EPL2 服务于旧有应用,而 Brother Raster 为 QL 系列打开了一条独立的命令路径。其余语言只有在客户硬件或既有应用提出要求时才变得重要。本文后续将解释为什么以需求驱动的路线图比人气排行更有用。
本指南涵盖热敏标签打印机与移动打印机使用的主要原始命令、光栅和已存模板路径。兼容性示例依据 2026 年 9 月 1 日可获取的厂商文档核对。在承诺支持之前,请始终确认确切型号、固件、分辨率和已安装的选配件。
打印机语言只是其中一层
人们常把“协议”一词用在打印流程中差别很大的部分上。把各层分清楚,多数兼容性问题都会好排查得多。
USB、蓝牙、串口、Wi-Fi、以太网、原始 TCP、LPR 和 IPP 负责把任务送到打印机,它们并不决定标签的版面。
ZPL、EPL、TSPL、CPCL 和 DPL 描述标签上的对象,通常还开放介质、状态、存储和后处理的控制。
PDF、PWG Raster、JPEG 以及厂商专有的光栅流表示的是一页内容或其像素。任务属性或单独的设备命令仍可能控制介质、切刀、剥离模式等硬件。
Code 128、EAN-13、Data Matrix 和 QR Code 规定数据如何变成条或模块,而打印机语言负责放置并生成这个符号。
举例来说,一个 ZPL 任务可以经 USB、蓝牙或网络传输。TCP 9100 端口被登记为打印机页面描述语言的数据流,但其中的字节仍必须是打印机能理解的语言(IANA 服务注册表)。IPP 则是任务管理协议:客户端可通过 DNS-SD 发现打印机、用 IPP 查询能力、提交任务并接收状态。即便如此,任务仍需要打印机声明支持的文档格式,例如 PWG Raster、JPEG 或 PDF(RFC 8011、PWG 的 IPP 指南)。
无驱动打印在办公打印机上已成常态,但工业标签打印机仍是显眼的例外。OpenPrinting 明确把工业标签打印机和其他垂直行业设备列为仍然需要驱动、printer application 或原始语言路径的典型案例(OpenPrinting 的驱动建议)。
同一张标签的三种集成模式
多数直接标签打印的集成都采用三种模式之一。没有哪一种在所有情况下都最好,它们也不互相排斥。基于已存模板的流程通常建立在原生命令语言或打印机固件之上。正确的选择取决于版面工作有多少留在主机端、有多少交给打印机,以及有多少打印机系列需要共用同一份设计。
| 模式 | 应用发送什么 | 主要优势 | 主要代价 |
|---|---|---|---|
| 原生命令语言 | 用于位置、字体、条码、介质和打印份数的文本命令。 | 任务体积小、由打印机生成条码、可读状态并控制设备、支持已存格式。 | 每种语言或仿真都需要独立的渲染器和测试环境。 |
| 光栅流 | 已经生成好的一位或有限色位图,加上各机型专用的设置与走纸命令。 | 应用用一套可视排版引擎决定最终外观。 | 数据量更大,需要精确的点阵打包、介质表、方向以及各机型的特殊之处。 |
| 已存模板 | 模板只安装一次,之后每个任务只发送可变文本、条码数据或模板编号。 | 运行时任务极小,并且能支持实用的独立工作流。 | 模板的分发、版本管理、同步,以及运行时有限的版面改动。 |
命令语言未必比光栅输出更精确,它只是把不同的职责移到了打印机一侧。原生条码命令让固件去计算符号;光栅路径则需要主机端的处理链路,无论在应用还是驱动中,都要按打印机的最终分辨率绘制每一根条。只要每张位图都按目标打印机的原生分辨率生成、之后不再缩放,共享的渲染器就能在各机型的光栅后端之间保持既定几何形状。
驱动可以让这种转换变得省事,同时并不开放打印机的全部功能。Honeywell 关于 CUPS 的技术简介显示,PDF 或 PostScript 会被光栅化并封装为 Direct Protocol 图形,而 Fingerprint、IPL 或 DPL 的原始任务则走直通队列。该驱动路径既不提供切刀也不提供 RFID,这提醒我们:视觉还原度和设备控制是两回事(Honeywell 的 CUPS 技术简介)。
如何辨认常见语言
抓取到的打印任务往往比机型信息更早暴露它使用的语言。下面是用于辨认的特征,并非可直接打印的完整示例。
| 语言 | 典型特征 | 这个特征说明什么 |
|---|---|---|
| ZPL II | ^XA ... ^FO ... ^FD ... ^XZ | 一个格式开始,字段被定位并填充,然后格式结束。 |
| EPL2 | N,随后是 A 或 B 字段,再是 P1 | 清空图像缓冲区,加入文本或条码,打印一张标签。 |
| TSPL 或 TSPL2 | SIZE、GAP、CLS、TEXT 或 BARCODE、PRINT | 可读的设置与绘制命令逐步构建出标签。 |
| CPCL | ! 0 ...、版面命令、FORM、PRINT | 面向移动打印的 ASCII 标签格式,带有明确的任务头。 |
| Brother Raster | 二进制初始化、控制字节、重复的光栅行,最后是打印命令。 | 标签在到达打印机之前就已经被转成点阵。 |
| ESC/POS | 转义字节和组分隔符与文本或图像数据混在一起。 | 面向小票的数据流,控制逐行版面、切纸、状态以及可选的标签功能。 |
ZPL II:务实的兼容基础
ZPL 是 Zebra Programming Language 的缩写。ZPL II 是现行规格中说“ZPL”时通常所指的现代版本,不过 Zebra 也指出它并不完全兼容最初的 ZPL。它是一种基于 ASCII 的命令语言,用于标签字段、字体、图形、图像、条码、序列号、已存格式、打印机设置和状态。Zebra 的编程指南同时记录了格式命令和控制命令,包括保存的模板与下载的图形(ZPL 编程指南)。
它的重要性远不止于 Zebra 硬件。现行或较新的产品会以不同名称记录兼容 ZPL 的模式,例如 TSC 的 ZPL2 仿真、Honeywell 的 ZSim2、SATO 的 SZPL、BIXOLON 的 BPL-Z 以及 GoDEX 的 GZPL。Citizen 在 CL-E303 上把 ZPL2 与 Datamax、EPL2 仿真并列(Citizen CL-E303 规格)。Toshiba 在部分机型上把 ZPL II 与自家原生的 TPCL 并列。
因此,对跨品牌的原始打印产品而言,ZPL II 是务实的第一门语言。但这并不意味着每条 ZPL 命令在哪里都表现一致。字体、RFID 命令、下载对象、介质校准、状态响应和较新的命令都是常见差异点。产品应当声明支持某个经过测试的 ZPL 配置档,而不是宣称所有 ZPL 打印机都可以互换。
EPL 与 EPL2:仍有价值的旧有覆盖
EPL 是 Eltron Programming Language 的缩写。EPL2 的页模式描述带有定位字段的完整标签;兼容 EPL1 的行模式则更老、更简单,输出按行组织,版面限制明显。Zebra 指出行模式不适合精细定位元素、元素重叠或水平梯形条码(Zebra 的 EPL 行模式指南)。
为兼容旧有应用,Zebra 仍在维护 EPL2 的文档,多款在售机型也标注了 EPL2 或其仿真。完整的编程指南依旧可用,涵盖 ASCII 文本、条码、图形、表单、变量和计数器命令(EPL 编程指南)。
实际的限制在于重叠。本指南中的多个现行示例同时记录了 EPL 和 ZPL。因此,即使 EPL 的兼容性被广泛记录,在 ZPL 之后再加 EPL 究竟能多覆盖多少设备仍是未知数。不过,如果现有客户手里有 EPL 模板,或测试硬件本就支持,早点加入仍然合理。
不要以为在 ZPL 中排得下的版面在 EPL 中也排得下。Zebra 在 ZPL 中记录了 TrueType、OpenType、可缩放字体和 Unicode 映射能力,而 EPL 无法使用同样的可缩放字体对象。请在每个目标实现上测试真实字符集、字体度量、换行和回退字体的表现。
TSPL、TSPL2 与 TSPL-EZ
TSPL 和 TSPL2 是 TSC 的标签排版语言。二者同属一个家族,但并非完全同义。官方合编手册列出了它们在机型与命令上的差异。它们可读的命令用于设定标签尺寸、间隙或黑标、方向、浓度、文本、条码、位图、计数器、文件和打印份数(TSPL 与 TSPL2 编程手册)。
TSPL-EZ 是 TSC 的兼容与仿真家族,并不是把每条 TSPL 命令换个写法。后缀和支持的仿真因机型而异。例如,TSC 把 RE310 的语言列为 TSPL-EZC (EPL2, ZPL2, CPCL), or ESC-POS(TSC RE310 产品页)。其他 TSC 机型可能列出不同的 TSPL-EZ 变体或不同的兼容组合。
对标签应用来说,当 TSC 打印机在客户设备中占有相当比例时,原生的 TSPL 支持才有价值。这些仿真也让 TSC 打印机在开发阶段很好用,但不能据此认为在所有边界情况下输出都会与被仿真语言的原生实现一致。
Brother 有两套不同的命令体系
Brother 很容易被归错类,因为它的各产品系列并非都采用同一种集成模式。QL 系列就是最清楚的例子。Brother 的开发者对照表把 QL-820NWB 和 QL-820NWBc 列为支持 Raster、ESC/P 和 P-touch Template;QL-800 仅列出 Raster,其余若干 QL 机型各有自己的组合(Brother 命令参考中的机型对照表)。
这些是目前为 QL-820NWBc 记录的标准命令接口。不过机型后缀和地区差异同样重要。一份较早的 QL-800 系列官方欧洲资料曾以 upon request 的方式宣传 QL-820NWB 的 ZPL II 仿真(Brother Europe 的 QL-800 系列资料)。在对任何一台 QL-820 下 ZPL 的绝对结论前,请先核对机型后缀、地区、固件和可选配置。在这一代 QL 上,明确记录的直连路径仍然是 Raster。
先把整张标签渲染成点阵,再发送初始化、介质信息、光栅行和打印命令。当应用本就负责版面与条码绘制时,这种方式最合适。
发送绘制和文本命令,而不是成品位图。Brother 针对自家打印机对该语言做了调整,它并不等同于面向小票的 ESC/POS。
先把准备好的模板传到打印机,再从扫描枪、电脑或其他设备填充文本与条码对象,无需重建整个版面。
Brother 的 QL-800 系列光栅参考说明,一个任务包含初始化命令、控制码、光栅数据和打印命令。它还按机型定义了页面尺寸、边距、分辨率、压缩、切纸和双色光栅数据(Brother QL 光栅命令参考)。因此光栅简化了视觉上的可移植性,却没有消除针对具体设备的工作。集成仍需要正确的介质标识、点阵尺寸、方向、压缩、状态处理和切纸行为。
Brother Raster 是某个机型家族的专有命令流;PWG Raster 则是标准化的文档格式,通常通过 IPP 提交。两者都在描述像素,但结构、命令和互操作性都不同,因此不可互换。
部分 Brother RJ、TD 和 TJ 打印机自成一组。Brother 在这类机型上记录了 FBPL,并按机型提供 ZPL、EPL、CPCL、DPL 或 ESC/POS 仿真。在 RJ-2035B 上,可下载的 FBPL-EZC 固件提供 EPL2、ZPL2 和 CPCL,而 FBPL-EZP 提供 EPL2、ZPL2 和 ESC/POS。因此在未确认已装固件之前,不应同时承诺 CPCL 和 ESC/POS(Brother RJ 固件常见问题)。单独的 EPL 指南列出了该仿真支持的命令(Brother 的 EPL 仿真指南)。
CPCL 与 ESC/POS:移动与小票方向的路径
CPCL 是 Comtec Printer Control Language 的缩写。它把标签排版语言和逐行打印模式结合起来,与移动打印关系密切。Zebra 现行的 CPCL 指南在策略上罕见地直白:新开发首选 ZPL,CPCL 则出于向后兼容保留在部分 Link-OS 打印机上,而 ZPL 的新特性通常不会进入 CPCL(Zebra 的 CPCL 指南)。
当某个应用或移动设备群已经在用 CPCL 时,它依然重要。在 ZQ600 Plus 这类同时接受 CPCL、ZPL 和 EPL 的机型上,CPCL 能保住既有任务,却不会带来新的实体机型(ZQ600 Plus 的语言文档)。ZQ120 Plus 和 ZQ220 Plus 等其他在售机型只记录 CPCL 和 ESC/POS 而没有 ZPL,因此增量价值取决于具体机型(ZQ120 Plus 与 ZQ220 Plus 概览)。
ESC/POS 由爱普生推出,是面向 POS 打印机的专有命令体系。它涵盖文本、打印位置、走纸、状态、条码、位图以及切刀等硬件。它并不只用于小票:爱普生的 TM-L90 命令列表及配套标签示例在适用机型上也包含标签与黑标定位(TM-L90 命令列表、爱普生的标签示例)。其他厂商所谓“兼容 ESC/POS”的实现可能只提供各机型自有的子集和默认值。对收银软件而言它仍是高优先级,但对以模切条码标签为核心的应用来说通常优先级较低。
其他厂商语言与工业语言
这些语言各有分量,但它们的使用和公开文档集中在特定厂商生态和迁移场景中。与其把每个缩写都当成对等平台,不如画一张简明的地图。
| 语言 | 所属生态 | 为何仍然重要 | 何时值得支持 |
|---|---|---|---|
| DPL | Datamax,如今归入 Honeywell 的打印机产品线。 | DPL 起源于 Datamax,Honeywell 仍在发布最新的 DPL 命令参考。其他品牌也在仿真它。 | 当 Honeywell 或 Datamax 机型数据足以支撑一份经过测试的配置档时再加入。 |
| IPL | Intermec Printer Language,如今在 Honeywell 产品中受支持。 | 长期运行的仓储和工业系统可能已经在主机端生成这种语言(IPL 命令参考)。 | 在从 Intermec 迁移或已知客户使用 Honeywell 设备群时优先考虑。 |
| Fingerprint | Intermec 与 Honeywell。 | 一种在打印机内运行、受 BASIC 启发的语言,能执行程序、逻辑、数据处理和独立打印流程(Fingerprint 命令参考)。 | 当 Honeywell 集成需要机内应用或已有 Fingerprint 程序时使用。 |
| Direct Protocol | Intermec 与 Honeywell。 | 由主机驱动的 Fingerprint 子集,不是 IPL 的别名。 | 用于已有的 Direct Protocol 格式,或不需要完整机内程序的原生 Honeywell 流程。 |
| SBPL | SATO Barcode Printer Language。 | 这是 SATO 的通用原生命令家族,可提供仿真所没有的功能。 | 为大量使用 SATO 的客户,或原生 RFID 与设备控制流程加入。 |
| TPCL | TEC Printer Control Language,东芝 TEC 打印机的原生语言。 | 它仍是东芝条码打印机的原生语言,尽管部分机型也会仿真竞品(TPCL 驱动手册)。 | 当涉及东芝设备群或 TPCL 格式库时加入。 |
| SLCS 与 BPL 模式 | BIXOLON 标签打印机。 | BIXOLON 的 SLCS 手册定义了其原生标签命令。相关机型还可能列出 BPL-Z、BPL-E 以及可选的 BPL-D 兼容模式。 | 当 BIXOLON 特有行为很关键时使用原生 SLCS,否则先验证已有仿真。 |
| EZPL、GEPL、GZPL 与 GDPL | GoDEX。 | EZPL 手册涵盖原生 EZPL,以及兼容 EPL 的 GEPL 和兼容 ZPL 的 GZPL。部分在售产品还列出兼容 Datamax 的 GDPL(RT700i+ 宣传册)。 | 先核对确切机型与固件,并测试每种兼容模式,再假定输出一致。 |
| FBPL | 部分 Brother RJ、TD 和 TJ 打印机。 | 在那些同时可能提供多种仿真和已存程序的机型上,它是有文档记录的原生命令路径。 | 为 Brother 原生的工业或移动功能加入,而不是为使用 Raster 的 QL 系列。 |
Honeywell 现售的 PM65 展示了一台打印机如何同时接受主机端命令语言、文档格式和机内运行的应用。其规格在同一台设备上列出了 DPL、Direct Protocol、Fingerprint、IPL、用于 ZPL II 的 ZSim2、PDF、XML 以及基于 C# 的智能打印(Honeywell PM65 规格)。SATO 的 CT4-LX 同样把原生 SBPL 与兼容竞品的 SZPL、SDPL、SIPL、STCL、SEPL 并列,还提供自动语言识别选项(SATO CT4-LX 的语言设置)。SATO 还写明,所选语言可能限制功能,例如该机型的 RFID 命令仅在 SBPL 和 SZPL 下有效(CT4-LX 的语言支持)。
东芝也是同样的格局。BX430T 记录了原生 TPCL,并可自动识别 ZPL II、DPL、SBPL 和 PDF(东芝 BX430T 规格)。BIXOLON 的 SLP-DX220 列出 SLCS、BPL-Z、BPL-E 以及可选的 BPL-D(BIXOLON SLP-DX220)。这些例子说明为什么各协议的数字不能相加:同一台物理打印机可能同时属于多个语言类别。
原生支持与仿真不是一回事
仿真是在解释为另一类打印机编写的命令。它能让替代机型在不改动成熟应用的前提下跑起来,这非常有用。但它终究是一种兼容实现,命令清单、字体和设备行为都有明确边界。
Brother 的 ZPL II 仿真指南把差别讲得很清楚:它列出受支持的命令与字体,要求在 Brother 的管理工具中设置介质与校准,甚至记录了一种在某些 ZPL 格式命令引发打印问题时将其忽略的机制(Brother 的 ZPL II 仿真指南)。简单的发货标签也许原样就能打印,而下载字体、查询状态、写入 RFID 或依赖持久设置的格式则可能失败。
每种仿真都要核实的内容
- done命令子集把应用发出的每条命令与该确切机型的仿真参考逐一比对。
- done字体与编码测试 Unicode、代码页、字体名称、度量、回退字形以及下载字体的支持情况。
- done坐标与分辨率确认 203、300 或 600 dpi 的输出、旋转、原点,以及最终点位上的取整。
- done介质控制视情况测试间隙、黑标、连续纸、校准、撕纸、剥离、切纸和无底纸设置。
- done状态与会话验证初始化、持久设置、错误响应、任务完成、暂停、取消和重新连接。
- done真实标签打印包含最短和最长预期值、图形、所有条码类型、多份副本以及设备重启后的任务。
为什么没有诚实的协议市场份额图
公开市场报告通常估算某一品类(例如条码打印机)的厂商收入或出货量。而要估算某个协议的覆盖面,需要的东西多得多:按确切机型、固件和选配统计的活跃保有量,哪些仿真被启用,每种仿真支持哪些命令,以及这批设备是否已经接受另一种语言。为本文查阅的公开可核查数据中,没有一份提供了这样的对应关系。
厂商份额也不能直接换算成语言份额。Zebra 的硬件会计入 ZPL,但 ZPL 模式同样出现在 TSC、Honeywell、SATO、BIXOLON、Citizen、东芝、Brother 和 GoDEX 的产品上。反过来,一台 SATO、Honeywell 或东芝打印机可能接受五种以上语言。百分比彼此重叠,总和很容易超过百分之百。
| 示例机型 | 有记录的语言路径 | 这个示例说明什么 |
|---|---|---|
| Zebra ZQ600 Plus | ZPL、CPCL、EPL。 | Zebra 的几种重要语言可以在同一个移动系列上重叠。 |
| TSC RE310 | TSPL-EZC (EPL2, ZPL2, CPCL), or ESC-POS. | TSC 的单一移动机型即可覆盖多个兼容目标。 |
| Brother QL-820NWBc | Raster、ESC/P、P-touch Template。 | 这款 QL 机型有记录的标准命令路径与常见的 ZPL、EPL、TSPL 三件套不同。可选的 ZPL 必须在配置中确认。 |
| Brother RJ-2035B(北美已停售) | FBPL 加 EPL2 和 ZPL2;装 EZC 固件时支持 CPCL,装 EZP 固件时支持 ESC/POS。 | Brother 的移动工业系列与 QL 系列差别很大,最终的兼容组合由固件决定。 |
| Honeywell PM65 | Fingerprint、Direct Protocol、IPL、DPL、ZSim2、PDF、XML、C#。 | 现售工业硬件可能保留多种通过收购而来的旧语言。 |
| SATO CT4-LX | SBPL、SZPL、SDPL、SIPL、STCL、SEPL。 | 原生模式与兼容竞品的模式可以共存于一台桌面打印机中。 |
| Citizen CL-E303 | Datamax DMX、ZPL2、EPL2。 | 兼容语言的传播范围远超最初创造它们的公司。 |
| 东芝 BX430T | TPCL,并可自动识别 ZPL II、DPL、SBPL 和 PDF。 | 原生 TPCL 与多种替代模式可以共用同一平台。 |
更好的衡量方式是产品自身的遥测数据。记录用户所要求的确切机型、任务走的是驱动还是原始数据、当前生成的是哪种语言,以及是否已有另一种受支持的语言能覆盖该设备。然后统计新增设备数,而不是彼此重叠的协议标签。
标签应用应该先支持什么?
正确的顺序取决于起点。新产品需要宽阔的基础;已经能打印 ZPL 和 TSPL 的产品,则应针对新的生态和手头可用的测试硬件做优化。
| 阶段 | 语言或路径 | 理由 |
|---|---|---|
| 基础 | ZPL II | 多家大厂都记录了兼容模式,而且该语言提供了完备的现代标签模型。 |
| 基础 | TSPL 或 TSPL2 | 对 TSC 的原生覆盖,命令模型也直白,尤其当目标市场看重 TSC 设备时。 |
| 扩展 | Brother Raster | 为标准接口是 Raster、ESC/P 和 P-touch Template 的 QL 机型增加一条直连命令路径。可选的 ZPL 需按机型和地区核实。 |
| 兼容 | EPL2 | 支持根基稳固的旧格式,加入和测试的成本通常不高,但与支持 ZPL 的硬件高度重叠。 |
| 移动兼容 | CPCL | 当真实的移动设备群或既有 CPCL 应用有此要求时很重要;若同一批设备也接受 ZPL,增量就有限。 |
| 工业兼容 | DPL | 适用于 Datamax 和 Honeywell 的部署,需求最好由真实机型数据来确认。 |
| 需求驱动 | IPL、Fingerprint、Direct Protocol、SBPL、TPCL、SLCS、EZPL、FBPL、ESC/POS | 当某个客户的设备群、某项缺失功能或小票流程让收益变得明确时,再补足原生深度。 |
如果 ZPL 和 TSPL 已经可用,实现顺序与战略重要性可能并不一致。若现有测试打印机本就仿真 EPL2,那它可能是最快能交付的下一项功能。相比再加一个 EPL2 仿真,Brother Raster 是更独立的实现路径,但在测出目标机型清单之前,它能新增多少客户设备仍是未知数。在已经接受 ZPL 的设备上,CPCL 增加的是任务语言的兼容性而非新机型覆盖;真正让它有价值的是只认 CPCL 的机型。
TSC RE310 与 Brother 的取舍:务实的答案
促成本文的讨论问的是:TSC RE310 是否已经支持 EPL2,Brother 打印机又能带来什么优势。有文档支持的答案是:是的,RE310 通过 TSPL-EZC 列出了 EPL2。而具体买哪款 Brother,比“Brother”这个牌子本身更重要。
| 测试打印机 | 此处相关的有记录路径 | 它能带来什么 |
|---|---|---|
| TSC RE310 | TSPL-EZC (EPL2, ZPL2, CPCL), or ESC-POS. | 用手头已有的设备立刻低成本测试多种仿真。 |
| Brother RJ-2035B | FBPL 加 EPL2 和 ZPL2;CPCL 或 ESC/POS 取决于所装的是 EZC 还是 EZP 固件。 | 带来 FBPL 以及第二家厂商的仿真行为,但 EPL2、ZPL2 和 CPCL 与 RE310 重叠。Brother Mobile Solutions 标注其在北美已停售,各地区的供货情况不同。 |
| Brother QL-820NWBc | Raster、ESC/P、P-touch Template。 | 一条独立的 QL 集成路径,因此命令路径的多样性更高。 |
二手 GK420d 只有在你需要复现旧设备群时才有用。它支持原生 ZPL 和 EPL 并可自动识别格式,还有兼容 EPL1 的行模式,但 Zebra 的生命周期页面显示各地区销售已于 2021 或 2022 年终止,服务于 2025 年结束(GK420d 生命周期)。若是新购,ZPL II 与 EPL2 的受支持参考机是现售的 ZD421;在该机上,兼容 EPL1 的行模式仅限 203 dpi 的直热配置(ZD421 规格)。
先在 RE310 上实现并测试 EPL2,因为设备已经在手。如果下一次采购的目标是尽可能扩大新命令路径的覆盖,那么把标准版 QL-820NWBc 作为 Raster 目标,比 RJ-2035B 带来的差异更多。Brother Mobile Solutions 标注 RJ 机型在北美已停售,各地区供货情况不同。请确认 QL 的地区配置,因为较早的文档中出现过仅按需提供的可选 ZPL 支持。当移动端需求足以支撑时,再在 RE310 上加入 CPCL,随后根据真实的客户请求决定是否优先做 DPL 或其他原生语言家族。
不过仍有一个理由选择 RJ-2035B:跨实现的兼容性测试。第二个 EPL 或 ZPL 仿真可能暴露出第一个实现所容忍的假设。当产品已经宣称多厂商兼容时,这很有价值,但它与补上一个尚未覆盖的集成模式属于不同目标。
围绕能力而不是缩写来构建支持
易于维护的打印系统应当保留一个中立的标签模型,再通过各语言专用的后端渲染出去。中立模型定义物理尺寸、最终点阵分辨率、文本块、条码数据、静区、图像、份数和后处理意图。每个后端则报告自己能保留什么、必须光栅化或拒绝什么。
每种新打印机语言的发布关卡
- done声明配置档列出受支持的命令、条码类型、分辨率、介质模式、编码以及已知的例外。
- done保留基准任务为每个后端保存有代表性的源任务和预期的渲染位图。
- done使用实机在宣称跨厂商兼容之前,尽量至少包含一台原生参考机和一种重要仿真。
- done测试棘手数据打印空字段、超长标识、前导零、非拉丁文本、控制字符以及条码的最大负载。
- done扫描结果用实际流程中使用的扫描枪和工作距离验证真实条码。
- done更新后重跑固件、渲染器、字体、压缩或介质设置变更后,重新跑一遍测试矩阵。
另外,把标签设计的测试与打印机协议的测试分开。某种语言可能把要求的点都画对了,条码却仍然读不出来,因为它太小、静区不足或打印浓度不对。标签本身请使用条码标签设计核对清单,在选择耗材和硬件之前,请先比较直热与热转印。
资料来源与研究方法
本文尽可能依据厂商的一手编程指南、开发者对照表和现行产品规格。产品页面用来证明某款机型提供了某种语言,命令参考用来证明该实现实际支持什么。我们没有用商业市场规模估算去生成协议百分比,因为它们的分类、时间区间和重叠程度并不可比。
- Zebra:ZPL 编程文档、EPL 编程指南以及面向 Link-OS 打印机的 CPCL。
- TSC:TSPL 与 TSPL2 编程手册和 RE310 的语言规格。
- Brother:命令参考中的兼容机型对照表、QL 系列光栅参考以及面向 RJ、TD、TJ 的 ZPL 仿真指南。
- Honeywell、SATO、东芝、Citizen 与 BIXOLON:相关章节中链接的现行产品页与语言页提供了跨厂商兼容示例。
- 标准与相邻打印路径:IPP Everywhere、IANA 的 9100 端口注册以及爱普生的 ESC/POS 参考。
导出最近 90 天用户所请求的打印机机型,并按确切的有记录语言路径分组。依据每条路径能新增覆盖多少设备来决定下一步实现,并在宣布支持该语言之前,打印并扫描一小套兼容性回归样张。