Zebra 打印机 GK420d 呈绿色闪烁一次,但不打印

Zebra Printer GK420d flashes green once, but doesn't print

我在多台计算机上使用一项服务,该服务本质上是一个套接字和一个在端口上侦听消息的 TcpListener。此消息是 ZPL 代码的字节数组。该服务然后将此数组发送到 USB 连接的 Zebra GK420d 打印机,然后进行打印。字节数组是从另一个应用程序发送的,其中用户 select 不同产品的不同标签布局。其他计算机没有管理员权限,但我不认为这是原因。

我的打印机在我办公桌上的电脑和另一台电脑上工作,但在其他电脑(大约 10 多台)上却没有。所有计算机都连接了 USB Zebra GK420d 打印机。

我遇到的问题是打印机闪烁绿色一次,但无法打印。我知道服务工作正常,因为当我查看 CMD window 时,我看到了 ZPL 消息和它试图发送到的打印机。这表明服务工作正常并且打印机收到消息,因此出现闪光灯。

我尝试了各种驱动程序、更新驱动程序、不同的 USB 端口、更新计算机上的 .Net、删除打印机并重新安装等等,但似乎没有任何办法可以解决问题。他们打印测试页很好,所以我不确定是什么问题。

computers/printers 现在都具有相同的打印机属性/首选项/驱动程序和 Windows 版本。然而,这些打印机都是在过去 6 年的不同时间购买的。

我强烈建议使用基于文本的驱动程序。如果您要发送 ZPL,那是最干净的选择。如果它之前没有工作,请尝试更简单的 label/ZPL blob;您发送的 ZPL 可能有问题。

否则,我发现了这个:https://code-examples.net/en/q/43c80a

  1. 右键单击打印机并选择 "Properties"。
  2. 在 "General" 选项卡上,单击 "Printing Preferences..." 按钮。
  3. 在 "Advanced Setup" 选项卡上,单击 "Other" 按钮。
  4. 确保选中标记为 "Enable Passthrough Mode" 的框。
  5. 确保 "Start sequence:" 是“${”。
  6. 确保 "End sequence:" 是“}$”。
  7. 单击 "Close" 按钮。
  8. 单击 "OK" 按钮。
  9. 单击 "OK" 按钮。

在代码中,将“${”添加到ZPL的开头,将“}$”添加到末尾。这是 ZDesigner 的 Windows 驱动程序。

原来是因为 ZPL 代码在通过流发送的每个 ZPL 文件的末尾没有新行。