2012-05-07 81 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