2014-02-26 29 views
0

我想顯示有關打印作業的信息。獲取有關打印作業的信息

可以在選項板中顯示如下信息: 「文檔將打印到:HP1000打印機,A4紙,橫向。

如何從作業中獲取打印機名稱,紙張名稱大小和方向名稱信息?

+0

你能解釋一下你希望在你的程序中發生的更詳細的情況? – mok

+0

我想顯示一條消息,通知用戶有關當前的打印設置。用戶可以在打印之前(job.print()),或者在他使用頁面設置對話框更改了作業設置後,或者在他想要的時候使用這些信息。所有提供了PrinterJob存在。 – geo

+0

這些是兩種不同的情況:當您設置設置時,只需向他顯示您設置的PageFormat和...以及用戶更改設置時獲取這些信息。來自PrinterJob。 – mok

回答

1

嘗試使用這個類:

PrintServiceLookup 

下面的代碼行返回所有已安裝的打印機:

PrintService[] prtService = PrintServiceLookup.lookupPrintServices(null, null); 

prtService[index].getName();//returns name of the i'the found printer. 
+0

這將返回所有可用的打印機。不是爲特定的打印作業選擇的那個。 – geo

+0

PrintServiceLookup.lookupDefaultPrintService()獲取默認值。 – mok

+0

我不想要默認的。我想讓用戶選擇一個特定的打印作業。它可以通過頁面設置對話框進行選擇。還需要作業的其他設置,例如所選紙張(A4,A3 ...)。 – geo