问题描述
我有一个.Net应用程序,该应用程序连接到Zebra打印机并发送ZPL标签以根据请求进行打印。
为了确保打印机处于打印所需的状态,我们在发送实际标签ZPL之前发出以下命令:
~JA ^XA^CI0^XZ^XA^JZN^XZ
然后,在此之后,我们发送实际的标签ZPL。
最后,我们循环检查打印机状态,直到返回isReadyToPrint = true
和numberOfFormatsInReceiveBuffer = 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 (将#修改为@)