【发布时间】:2011-03-31 16:07:43
【问题描述】:
我正在使用以下代码将打印作业发送到特定打印机:
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 不应该只返回与我的请求匹配的打印机吗? (在这种情况下 - 一台打印机)
提前致谢!
【问题讨论】:
-
自然我有一个解决这个问题的方法:我在结果中搜索所需的打印机。但是,我仍然不明白我为什么会得到超过 1 个答案。我用
DocFlavor.INPUT_STREAM.POSTSCRIPT测试了相同的代码,但没有PrinterUri属性并得到了相同的9 个结果 - 似乎PrintServiceAttributeSet被忽略了......
标签: java attributes postscript printers ipp-protocol