barcode - 使用 GW EPL 命令将图形打印到 Zebra LP2844?

标签 barcode zebra-printers epl barcode-printing

我需要打印通过 Web 服务返回给我的图像(数据以 RAW 格式返回),但我终生无法弄清楚如何使用 EPL 将图形打印到标签上。

EPL 手册将 Graphic Write 指令定义为:

GWp1, p2, p3, p4, DATA

所有的参数都返回给我,所以我不用担心计算高度、宽度等,但我的问题是我不知道如何格式化DATA。

手册说 DATA 应该是

Raw binary data without graphic file formatting. Data must be in bytes.



我试过传递一个二进制字符串和一个十六进制字符串,但似乎没有任何效果。在 EPL 手册中没有关于如何使用此命令的示例,经过数小时的在线搜索后,我找不到有关如何使用该命令的单个示例(即我可以复制和粘贴以发送到的示例 EPL 命令)打印机)。

有没有人知道如何使用这个命令?你能给我举个例子吗? (举例来说,我的意思不是框架、代码等,我的意思只是简单的 EPL 命令)。

最佳答案

我可以确认数据是原始的、未压缩的二进制文件。它也是反转的——也就是说,0 位打印为黑色,至少在我的 UPS 固件 LP-2844 上。我不知道为什么 Zebra 的所有示例都将数据显示为编码为十六进制表示。

值得注意的是,如果您在端口 9100(使用 netcat 为例子):

nc printer_hostname_or_ip_address 9100 < test_file.txt

除了标签打印与否之外,您不会从打印机获得任何反馈。

我的 LP-2844(UPS 固件)打印机将包含 816 宽 x 1218 高下载位图的标签打印到 4"宽 x 6"高标签上大约需要 5-6 秒。这似乎是所有成像时间:一次发送三个标签并没有更快,并且网络连接(通过 Lantronix LPS1-T)一直保持打开状态,直到最后一个标签打印出来。该图像处于打印机的原始分辨率(203 点/英寸),并且没有抖动或调整大小(我认为 EPL2 甚至不知道如何抖动或调整大小)。

通过将标签优化为许多更小的位图(以及水平和垂直线段,可能还有填充的矩形块),可以加快成像时间。这不会是一个非常困难的优化,因为图像是一个单比特黑白位图,并且代码相当简单。不过,我不知道它是否真的会加快速度。

运行带有内置以太网端口的 ZPL 的更现代的 Zebra GX420(在线 500 美元)可以在 1-2 秒内打印相同的标签(具有基本相同的图形下载编码)。

顺便说一句,由于我还没有真正回答这个问题,因此原始 EPL 代码是:
(a blank line)
N
q816
Q1218,20
GW10,10,102,1218,(124236 bytes of inverted bitmap data)
P

所有换行符都是 0x0a(unix 风格)。

关于barcode - 使用 GW EPL 命令将图形打印到 Zebra LP2844?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12625879/

相关文章:

node.js - 使用 JSBarCode 创建条形码

java - 关注面板中的文本字段,该面板位于包含许多面板的选项卡式 Pane 中

iOS 9.0 Xcode 8.3.3 MfiBtPrinterConnection.h 传输蓝牙 maxLength Zebra ZQ520

c# - 用于从 .txt 文件控制打印机的 ASCII 原始符号

javascript - 从 Javascript 将原始 ZPL 和 EPL 发送到打印机

printing - 带有CUPS的Zebra打印无打印ZPL或EPL

android - 如果卡片是层压的,Android 还能读取卡片上的二维码吗?

c# - 在 C# 中将数据发送到 USB 打印机?

c++ - 在 POS 打印机上打印条码字体