【问题标题】:Printing a graphic to a Zebra LP2844 with the GW EPL command?使用 GW EPL 命令将图形打印到 Zebra LP2844?
【发布时间】:2012-09-19 12:06:31
【问题描述】:

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

EPL 手册将图形写入指令定义为:

GWp1, p2, p3, p4, DATA

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

手册说数据应该是

没有图形文件格式的原始二进制数据。数据必须以字节为单位。

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

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

【问题讨论】:

标签: barcode zebra-printers epl barcode-printing


【解决方案1】:

也许这会help,它有示例(并更正了手册中的错误)。此外,使用 GM 命令可能更容易,每次只删除图像(请参阅here for a stackexhange 相关问题)。

话虽如此,我从来没有让我的 Eltron 成功打印图像(但我的工作不需要它)。

祝你好运!

编辑:这是另一个 link 示例 Perl 代码。他们的目标是汉字,但展示了如何打印巨浪图像(奇怪的是日本)。

【讨论】:

  • 感谢您的链接。不过,我已经阅读了该页面,实际上并没有任何示例代码。我无法使用 GM 命令,因为我正在打印每个标签需要多个图像的运输标签,并且需要快速打印。 GW 是我唯一的选择,但我似乎无法弄清楚如何将 DATA 传递给它。
  • 感谢第二个链接,虽然我实际上也已经研究过那个页面 :-) 我已经花了几个小时在互联网上搜索,令人惊讶的是找不到一个显示原始示例的示例用于打印图形的 EPL 命令..
  • GK-GK-GM-GG 对于每个标签,恕我直言,这是一种矫枉过正(也是你能做的最糟糕的事情之一),并且会削弱内部记忆,它有有限的写入周期(例如 LP2844 有 100k)。 GW 更适合非静态图像 ...
  • 当我尝试发送该链接中显示的确切命令时,打印机什么也不做。当我第二次发送它时,它会在图像上打印带有“ERRO1”的图像。
  • There is no need for a carriage return/line feed after the DATA, but it doesn't hurt either. 实际上,它似乎确实很痛..当我删除此 CR 时它开始工作。
【解决方案2】:

我发现使用 ASCII 字符无法通过 EPL 将图形发送到 Zebra 打印机。数据实际上必须作为 RAW 数据发送。因此,例如,您无法使用 Zebra Setup Utilities 或任何其他无法直接通过打印机从文件写入 RAW 数据的方式将图形发送到打印机。

【讨论】:

  • 如果您在谈论 7 位 ASCII,我并不完全清楚,因为原始数据由字节(即 8 位)组成,所以它确实不起作用。如果您说的是 8 位字符,那么它在转换为二进制值时很大程度上取决于代码页。
【解决方案3】:

我可以确认数据是原始的、未压缩的二进制文件。它也是反转的——也就是说,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 样式)。

【讨论】:

  • 令我惊讶的是,Zebra 以其无限的智慧认为当您通过端口 9100 连接时不发送任何反馈是个好主意!
【解决方案4】:

我发现解决此问题的唯一方法是将标签创建为图像,然后通过应用程序中的打印命令将该图像发送到打印机。

【讨论】:

  • 这如何回答这个问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多