У меня есть это:
public static void print(List<String> lines) {
TextArea textArea = new TextArea();
lines.forEach(textArea::appendText);
PrinterJob job = PrinterJob.createPrinterJob();
JobSettings jobSettings = job.getJobSettings();
jobSettings.setPrintQuality(PrintQuality.HIGH); // don't know what to do with jobSettings
Printer printer = job.getPrinter();
PageLayout pl = printer.createPageLayout(Paper.A4, PageOrientation.PORTRAIT, .10, .10, .25, .25);
boolean printed = job.printPage(pl, textArea);
if (printed)
job.endJob();
}
Я печатаю на термопринтере. Качество как черновое качество, супер низкое. Я использую принтер Xprinter XP-58.
Я хочу изменить его на Высокий. Документы JavaFX 8 гласят:
Приложения не создают и не могут напрямую создавать или устанавливать экземпляр JobSettings. Один из них уже установлен в задании на печать при его создании. Как описано в PrinterJob, JobSettings, установленные в этом задании, первоначально будут отражать текущие настройки по умолчанию для первоначально связанного принтера для этого задания.
После этого делегат JobSettings останется неизменным в течение всего срока работы задания и будет иметь его свойства члена обновлены, чтобы быть совместимыми с изменением принтера в задании. Например, в результате взаимодействия с пользователем через диалог платформы. Несовместимый параметр обычно приводит к тому, что этот параметр возвращается к значению по умолчанию для нового принтера.
Любые неявные или явные обновления настроек, возникающие в результате взаимодействия пользователя с диалоговым окном, будут распространяться и отображаться приложению после его одобрения. настройки, закрывая диалоговое окно, используя опцию «принять».
Для большинства приложений печати, вероятно, достаточно позволить пользователю установить желаемые параметры и распространить их на задание. Для приложений, которым они необходимы, существуют методы установки и получения для отдельных параметров, которые также доступны в виде свойств, и изменение значений параметров можно отслеживать и обновлять с помощью этих свойств.
In Windows 10 в настройках принтера XP-58, я не могу найти качество печати в настройках принтера, поэтому я предполагаю, что качество действительно плохое. Но когда я печатаю за пределами javaFX, качество на самом деле очень хорошее и действительно определено.
Есть ли обходной путь к этому?