Java打印服务:PrintServiceLookup.lookupPrintServices不返回联网打印机

Kha*_*wal 3 java windows printing service

如果我从Windows命令提示符运行我的JBoss应用程序,我可以获得打印机列表(包括网络打印机就好了).

如果我将JBoss应用程序作为Windows服务运行,我只能获得直接连接到机器的打印机列表.网络打印机不显示.

这是我用来获取打印机列表的Java代码:

PrintService[] printerServices = PrintServiceLookup.lookupPrintServices(null, null);
Run Code Online (Sandbox Code Playgroud)

它似乎不是权限问题,因为根据我们的管理员,权限设置得很好.

有些人有更好的解释,或者是否有一组权限可能需要让网络打印机出现?

Kha*_*wal 5

您必须以具有适当权限的域上的用户身份运行Windows服务,而不是LocalUser.

您还可以使用tcp/ip连接添加联网打印机,问题就消失了.