печать javax всегда двусторонняя - PullRequest
0 голосов
/ 25 июля 2011

Я пытаюсь печатать с использованием javax.Простое задание на печать всегда печатается как двустороннее, даже если для javax по умолчанию используется односторонний режим, плюс принтер настроен на 1 страницу на листе.

Принтер HP 2015DN, и вот мой код:

String filename = "test.txt";
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;

PrintService printService[] = PrintServiceLookup.lookupPrintServices(
    flavor, pras);

PrintService defaultService = PrintServiceLookup
    .lookupDefaultPrintService();

PrintService service = ServiceUI.printDialog(null, 200, 200,
    printService, defaultService, DocFlavor.INPUT_STREAM.AUTOSENSE, pras);

if (service != null) {
  DocPrintJob job = service.createPrintJob();
  FileInputStream fis = new FileInputStream(filename);
  DocAttributeSet das = new HashDocAttributeSet();
  Doc doc = new SimpleDoc(fis, flavor, das);
  pras.add(new Copies(1));
  job.print(doc, pras);
  fis.close();
}

Я знаю, что принтер может печатать односторонне, потому что Notepad ++ может это делать.* Любая помощь будет оценена .. Спасибо ..

Ответы [ 2 ]

1 голос
/ 19 декабря 2012

Конфигурация принтера, похоже, была проблемой в этом случае;принтер был настроен на двустороннюю печать независимо от инструкций в API Java.Попытка кода с другим принтером помогла понять проблему.

1 голос
/ 25 июля 2011

Может быть, это поможет:

pras.add(Sides.ONE_SIDED);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...