簡體   English   中英

Java打印服務:PrintServiceLookup.lookupPrintServices不返回聯網打印機

[英]Java Print Service: PrintServiceLookup.lookupPrintServices does not return networked printers

如果我從Windows命令提示符運行我的JBoss應用程序,我可以獲得打印機列表(包括網絡打印機就好了)。

如果我將JBoss應用程序作為Windows服務運行,我只能獲得直接連接到機器的打印機列表。 網絡打印機不顯示。

這是我用來獲取打印機列表的Java代碼:

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

它似乎不是權限問題,因為根據我們的管理員,權限設置得很好。

有些人有更好的解釋,或者是否有一組權限可能需要讓網絡打印機出現?

您必須以具有適當權限的域上的用戶身份運行Windows服務,而不是LocalUser。

您還可以使用tcp / ip連接添加聯網打印機,問題就消失了。

幾分鍾前,我的同事遇到了同樣的問題,但在REDHAT LINUX系統上。 他的服務器已重新啟動,打印機功能只有一半; lp工作,杯子工作,但無法從Java訪問打印機。 他發現localhost已經從hosts文件中消失了。

他的解決方案:將localhost添加到hosts文件中(但由於你在Windows上,這可能不是你的解決方案)

它似乎是網絡打印機的一個問題。 JRE看到的任何打印機都必須處於“共享”狀態。 不幸的是,網絡打印機不是。

請參閱:系統設置 - >打印機 - > PDF - > - >共享(啟用復選框)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM