Если вы знаете название принтера, вы можете добиться этого.В одном клиенте мне требовалась тихая печать: если присутствовал принтер с именем appprinter
, я использовал его, если нет, то пробовал по умолчанию.Это отлично сработало.
Для печати я использую ICEPDF .
Кейт: спасибо за предложение, честно говоря, IcePDF довольно прост, этот пример включен в исходный кодкод, который вы можете скачать по ссылке выше.Чтобы получить необходимый PrinterService (он же принтер), вы можете удалить весь пользовательский ввод, запрашиваемый с клавиатуры, и просто использовать тот, который вам нужен.
Итак, в версии 5.0.5: [install-folder] /examples/printservices/PrintService.java
- удалить пользовательский выбор printservice: строки от 106 до 155
добавить вместо:
PrintService selectedService=null;
for (int j=0;j<services.length;j++) {
if ("myprintername".equalsIgnoreCase(services[j].getName())) {
selectedService=aux[j];
}
}
Надеюсь, теперь это более полезно.
С уважением.