繁体   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