2012-05-07 79 views
0

我想在java中编写POS打印机类。低ESCPOS编码似乎很简单,但我对打印机事件有疑问。 如何理解打印机是否出错或纸卷结束?我读了ESCPOS命令参考,每个命令(显然)都是单向打印机的。 例如,如果纸张结束,我无法打印收据,如果发生这种情况,我的应用程序必须知道并停止记录现金问题。java中的EscPos打印机事件

谢谢。

回答

1

据我记得,纸和其他基本事件与(硬件)事件信号。您必须将事件侦听器添加到端口(ParallelPortEventListener或SerialPortEventListener)以检索这些事件。

http://docs.oracle.com/cd/E17802_01/products/products/javacomm/reference/api/javax/comm/ParallelPortEventListener.html

+0

好的,那么PrinterStateReason类呢?我无法理解如何使用它.. – Tobia

+0

我觉得这个类属于java打印api。打印机api使用系统打印机驱动程序,它可以使用供应商特定的双向命令,这会返回更多的状态信息,然后返回硬件引脚。如果你想写自己的供应商独立驱动程序,你将不会得到更多的信息,然后硬件事件。 – Andreas

+1

Ooops,我找到了一个描述双向并行模式的escpos规范:http://www.scribd.com/doc/26547463/ESC-POS-Command-Guide#outer_page_217我并不需要这个用于我的基本打印机驱动程序。所以你可能必须检查输入流的错误代码。 – Andreas