首页 文章

javax打印始终是双面的

提问于
浏览
0

我正在尝试使用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();
}

我知道打印机可以单面打印,因为记事本能够这样做 .

任何帮助将不胜感激..谢谢..

2 回答

  • 1

    也许这会有所帮助:

    pras.add(Sides.ONE_SIDED);
    
  • 1

    在这种情况下,打印机配置似乎是个问题;无论Java API中的说明如何,打印机都配置为双面打印 . 使用不同的打印机尝试代码有助于理解该问题 .

相关问题