Атрибут PrinterUri игнорируется Java PrintService?
Я использую следующий код для отправки задания на печать на определенный принтер:
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);
Странно, я получаю 9 результатов поиска (= все доступные принтеры на этом конкретном хосте) - пока я ищу только первый результат. Я искал в PrintService JavaDocs и в Интернете - но ничего не нашел по этому вопросу.
Разве PrintServiceLookup не должен возвращать только те принтеры, которые соответствуют моему запросу? (в данном случае - один принтер)
Заранее спасибо!
1 ответ
Оказалось, что использованный мною URI был неверным (но с правильным синтаксисом, поэтому исключение не выдавалось).
Итак, отвечая на мой первоначальный вопрос - Java PrintService игнорирует атрибут, который является неправильным (в отличие от моих ожиданий, что PrintService не будет возвращать результат в случае неправильного атрибута).
Спасибо, в любом случае