【问题标题】:Zebra ZPL print job fails intermittentlyZebra ZPL 打印作业间歇性失败
【发布时间】:2020-03-05 09:30:49
【问题描述】:

我在 C# Windows 服务中生成 ZPL 标签。该服务在结构上很简单...它使用 System.IO.FileSystemWatcher 来检测我们的 ERP 何时创建新文件,然后解析文件,从 SQL 中获取有关该作业的大量数据并将其格式化为经过验证的ZPL。

然后它使用 StreamWriter 和 TcpClient 类创建到 Zebra 标签打印机的连接并将 ZPL 发送到端口 9100。这是我们过去使用的技术,没有问题。

我们只使用 Zebra GK420D 打印机。

这是奇怪的一点。有时,当作业发送到打印机时,LED 只是闪烁 - 没有打印标签。如果您查看该打印机的 Web 界面中的配置页面,它会报告它正忙于处理作业。作业在作业日志中显示得非常好,但打印机被卡住了。您无法打印配置标签(就像您通常按住提要按钮几秒钟一样)。您可以重新启动打印机,重新提交作业,它会打印...但这不能保证。通常它会再次闪烁。您可以将相同的 ZPL 发送到另一台打印机,它会打印得很好。

正在生成的 ZPL 的长度约为 4000 - 4500 字节。我们已经使用在线工具验证了 ZPL,以重现我们想要打印的标签,它们看起来都很好。

以前有人见过这样的事情吗?这让我们感到莫名其妙......

【问题讨论】:

  • 您使用的是 Zebra 提供的 ZPL sdk 吗?通过工具(无 API)发送数据是否能够始终如一地完成工作?
  • 您是只发送一个标签格式(包含在^XA...^XZ 中)还是每个标签发送多个^XA...^XZ 对?我刚刚在一台新购买的打印机上遇到了类似的问题,我们的代码首先发送一个空格式,将打印机的配置重置为已知的良好状态,然后发送实际格式。新打印机将闪烁其数据繁忙 LED,并且不会打印任何内容。原来,这是一个时间问题,我们需要在第一种格式和第二种格式之间暂停半秒。
  • 我没有使用 ZPL SDK。我正在用 C# 创建 ZPL 并将其写入端口。正如我所提到的,这是一种过去运行良好的技术。我每次都发送单个标签。即使需要多个标签,我也会将它们发送到 ^XZ ^XZ 单标签作业中。我在所有地方都添加了暂停,看看是否是时间问题,但还没有运气......

标签: c# windows service zebra-printers zpl


【解决方案1】:

检查打印机上的固件以确保它是最新的。听起来你在做正确的事情,即使有停顿。我知道如果您发送的数据多于可用数据,打印机将停止运行,直到重新启动。

【讨论】:

    猜你喜欢
    • 2015-02-10
    • 2023-03-19
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多