幾年前我有同樣的問題。
這就是我所做的。
由於我的處理是在服務器上進行的,所以我知道交易何時完成。所以我做的是直接從服務器發送打印請求。客戶端打印機在服務器中進行配置,並且由於它在局域網中使用,因此可以輕鬆訪問該打印機。這樣我就完成了與小應用程序有關的所有問題,權衡是他們只能在辦公室打印,但在我的情況下很好,不一定適用於您,請嘗試一下。
UPDATE
在我的情況下,需要沿國家不同部門的打印。
每個部門都有針對該任務的特定唯一打印機。因此,我所做的是將該打印機安裝在服務器文件系統中(在Unix中是/ Volumes/printers/EPSON-12345,在Windows中是x:\ printers \ EPSON-12345)當用戶在webapp中完成事務後,我啓動在服務器中打印請求。 Java根本沒有任何問題打印到本地打印機,並且由於映射打印機被視爲本地(即使它是遠程打印機),您不需要進一步的授權或任何特殊的東西。
因爲我知道具體的打印機是如何映射的,而且我知道是哪種交易,所以我知道在哪裏打印。
最後,我使用一個屬性文件來允許打印機隨時更改和/或添加更多的打印機。
我不太記得細節,但它是在服務器中是這樣的:
ResourceBundle bundle = ResourceBundle.getBundle("printers");
String serviceName = bundle.getString("MEXICO.CITY.PRINTER");
PrintService service = PrintService.find(serviceName);
service.print(// document and etc);
但是,這是近4年。以前所以我不記得確切的細節,但我的程序仍在運行:)
你可以閱讀更多關於java中的打印服務here。它比它的樣子簡單得多。
+.1創意解決方案 – Pierreten 2009-12-14 06:37:42
@Pierreten:那是一個符號+1嗎? :-o是的..必要性是所有發明的母親(因此是創造力)。 – OscarRyz 2009-12-14 06:52:00
嗯案件幾乎相同,但如何配置服務器的客戶端打印機併發送打印請求到客戶端? – 2009-12-14 06:58:32