2013-04-22 62 views
1

要檢查默認打印機的當前狀態,我們可以使用Java API。我們需要超出正確的attributeUpdate方法。如何使用java知道網絡打印機狀態?

@Override 
    public void attributeUpdate(PrintServiceAttributeEvent psae) 
    { 

     Attribute[] att; 
     att = psae.getAttributes().toArray(); 
     for (Attribute attribute : att) 
      { 
       System.out.println(attribute.toString()); 
      } 
    } 

但在這裏我的問題是將其請求發送到物理打印機,給我們迴應或只是檢查驅動程序的安裝,形成我們的本地機器,給我們的狀態?如果它來自本地機器,我如何將請求發送到物理打印機並獲得響應?

+0

使用堆棧溢出鏈接:http://stackoverflow.com/questions/5328519/java-get-printer-status-paper-low -out – 2013-04-22 11:52:24

+0

well javax.print。*不會向打印機發送請求。它會檢查安裝。我用這個並檢查我的打印機狀態。天氣我連接或不連接到打印機它會給出相同的答案。所以它只是檢查打印機驅動器的安裝。 – user2255885 2013-04-22 12:00:07

回答

0

它只會查詢本地機器來確定屬性。如果你想實際發送一個數據包,那麼你應該使用snmp4jLPR

+0

感謝您的幫助,我對snmp4j沒有任何意見。我喜歡看一些示例應用程序如何在java中使用snmp4j。 – user2255885 2013-04-23 06:44:00