Различные типы PDF-файлов создаются с помощью iText на стороне сервера и отправляются через ResponsOutputStream.На стороне клиента отображается диалоговое окно печати (по крайней мере, в большинстве программ просмотра) и выбирается принтер по умолчанию.Некоторые PDF-файлы должны быть напечатаны на labelprinter, другие на настольном принтере.Можно ли предварительно выбрать другой принтер, когда появится printdialog?
Я пробовал это для настольного Java-приложения, и оно работало, но я не могу сделать это со стороны сервера.
ec.setResponseContentType("application/pdf");
ec.setResponseHeader("Content-Disposition", "attachment; filename="labels.pdf");
outStream = ec.getResponseOutputStream();
writer = PdfWriter.getInstance(document, outStream);
PdfAction action = new PdfAction(PdfAction.PRINTDIALOG);
writer.setOpenAction(action);
тот же результат с использованием этой инструкции, поскольку я не могу найти решение для предварительного выбора конкретного принтера с использованием Javascript
writer.setOpenAction(PdfAction.javaScript("this.print(true);", writer));
, всегда выбран принтер по умолчанию или последний использованный принтер