我使用以下代码将打印作业发送到特定打印机:
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 和 Web 上进行了搜索,但没有发现任何相关内容。
PrintServiceLookup 不是应该只返回符合我的请求的打印机吗? (在本例中 - 一台打印机)
提前致谢!
最佳答案
事实证明,我使用的 URI 是错误的(但语法有效,因此没有抛出异常)。
因此,回答我最初的问题 - Java PrintService 忽略错误的属性(与我的预期相反,如果属性错误,PrintService 将不返回任何结果)。
还是谢谢
关于java - Java PrintService 是否忽略 PrinterUri 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5502866/