My Java-приложение для Windows печатает на термопринтерах через спулер без какого-либо взаимодействия с диалоговым окном печати (используя фрагмент кода ниже).
Я не знаю почему, но оно игнорирует параметры конфигурации устройства вдиалоговое окно свойств принтера (в Windows 7 щелкните правой кнопкой мыши принтер в разделе «Принтеры и устройства»). Настройки для подачи зуммерных звуков или резки бумаги в конце документа игнорируются.
Существуют собственные коды ESC / POS, которые можно использовать для достижения того же эффекта, но некоторые из них работают по «прямому протоколу»только печатьЯ стараюсь не использовать их и настраивать свойства принтера вместо этого, чтобы упростить устранение неполадок при печати (хотя в этом случае я бы принял прямой протокол в качестве крайней меры).
Как выполнить задание на печатьпринять настройки конфигурации свойств принтера? Или при необходимости как использовать прямой протокол?
File file = File.createTempFile("order", "tmp");
try (PrintWriter printWriter = new PrintWriter(file)) {
printWriter.print(textToPrint);
}
DocPrintJob dpj = printService.createPrintJob();
InputStream stream = new ByteArrayInputStream(textToPrint.getBytes(StandardCharsets.UTF_8));
HashDocAttributeSet attributes = new HashDocAttributeSet();
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
Doc doc = new SimpleDoc(stream, flavor, attributes);
dpj.print(doc, new HashPrintRequestAttributeSet(new JobName("The Application", null)));
file.delete();