我可以确认数据是原始的、未压缩的二进制文件。它也是反转的——也就是说,0 位打印为黑色,至少在我的 UPS 固件 LP-2844 上是这样。我不知道为什么 Zebra 的所有示例都将数据显示为编码为十六进制表示。
值得注意的是,如果您在端口 9100 上向打印机发送数据(使用 netcat例子):
nc printer_hostname_or_ip_address 9100 < test_file.txt
您不会从打印机那里得到任何反馈,除了标签是否已打印。
我的 LP-2844(UPS 固件)打印机大约需要 5-6 秒才能将包含 816 宽 x 1218 高下载位图的标签打印到 4 英寸宽 x 6 英寸高的标签上。这似乎是所有成像时间:一次发送三个标签并没有更快,并且网络连接(通过 Lantronix LPS1-T)保持打开状态,直到最终标签打印。该图像处于打印机的原始分辨率(203 点/英寸),并且没有进行抖动或调整大小(我认为 EPL2 甚至不知道如何抖动或调整大小)。
通过将标签优化为许多较小的位图(以及水平和垂直线段,也许还有填充的矩形块),可以加快成像时间。这不会是一个非常困难的优化,因为图像是一个单比特黑白位图,并且代码会相当简单。不过,我不知道它是否真的会加快速度。
运行 ZPL 并带有内置以太网端口(在线 500 美元)的更现代的 Zebra GX420 可以在 1-2 秒内打印相同的标签(具有基本相同的图形下载编码)。
顺便说一句,由于我还没有真正回答这个问题,因此原始 EPL 代码是:
(a blank line)
N
q816
Q1218,20
GW10,10,102,1218,(124236 bytes of inverted bitmap data)
P
所有换行符都是 0x0a(unix 风格)。