我使用下面的代碼,以打印作業發送到特定的打印機:Java PrintService是否忽略了PrinterUri屬性?
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'被忽略... – gamadon 2011-04-05 08:08:37