为什么ZPL命令会卡在Zebra打印机格式缓冲区中?

问题描述

我有一个.Net应用程序,该应用程序连接到Zebra打印机并发送ZPL标签以根据请求进行打印。

为了确保打印机处于打印所需的状态,我们在发送实际标签ZPL之前发出以下命令:

~JA ^XA^CI0^XZ^XA^JZN^XZ

然后,在此之后,我们发送实际的标签ZPL。 最后,我们循环检查打印机状态,直到返回isReadyToPrint = truenumberOfFormatsInReceiveBuffer = 0,这样我们才能知道何时完成打印。

问题经常是numberOfFormatsInReceiveBuffer永远停留在1(直到我们手动发出Cancel All ~JA命令)。 它会在我们可以访问和测试的所有打印机中发生,这些打印机是:

  • ZM400;
  • ZT410;
  • ZT510;

我们尝试过的一件事,可能是解决方案是在“开始格式”和“结束格式”命令之间发送“全部取消”命令:

^XA~JA^XS^XA^CI0^XZ^XA^JZN^XZ

但是,一些问题仍然没有答案:

问题1:是否可以通过某种方式准确找出缓冲区中卡住了什么?

问题2:根据文档,以〜开头的命令会立即执行,不需要在Format内即可使用。那么发送^XA~JA^XZ而不是仅发送~JA有什么区别?这是一个问题吗?为何它只发生几次而不是每次发送到打印机时才卡在缓冲区中?

我已经在Zebra文档和互联网上搜索了这些问题,但是没有运气。

如果需要更多详细信息,请让我知道缺少的内容。

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...