【问题标题】:javax printing is always double-sidedjavax打印总是双面的
【发布时间】:2011-10-12 15:28:26
【问题描述】:

我正在尝试使用 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++ 可以这样做..

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

【问题讨论】:

标签: java printing


【解决方案1】:

也许这会有所帮助:

pras.add(Sides.ONE_SIDED);

【讨论】:

  • 不幸的是,这似乎没有帮助。如果我在查找之前添加它,则找不到打印机,如果我在查找之后添加它,作业仍然是双面打印的。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多