1

我正在使用以下代码将打印作业发送到特定打印机:

PrintServiceAttributeSet aset = new HashPrintServiceAttributeSet();
     try {
            aset.add(new PrinterURI(new URI("ipp://hostName/printerName")));
        } catch (URISyntaxException e) {
            System.out.println("URI exception caught: "+e);
        }
        PrintService[] services =
            PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.POSTSCRIPT,aset);  

Strangley,我得到 9 个查找结果(=该特定主机上的所有可用打印机) - 而只有第一个结果是我正在寻找的结果。我在 PrintService JavaDocs 和网络上进行了搜索 - 但没有找到任何关于此事的信息。

PrintServiceLookup 不应该只返回与我的请求匹配的打印机吗?(在这种情况下 - 一台打印机)

提前致谢!

4

1 回答 1

0

事实证明,我使用的 URI 是错误的(但语法有效,因此没有引发异常)。
所以回答我最初的问题 - Java PrintService 忽略了一个错误的属性(与我的预期相反,如果属性错误,PrintService 不会返回任何结果)。

不管怎么说,还是要谢谢你

于 2011-04-05T14:23:34.720 回答