我正在尝试使用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 ++可以这样做..
任何帮助将不胜感激..谢谢..
答案 0 :(得分:1)
也许这会有所帮助:
pras.add(Sides.ONE_SIDED);
答案 1 :(得分:1)
在这种情况下,打印机配置似乎是个问题;无论Java API中的说明如何,打印机都配置为双面打印。使用不同的打印机尝试使用该代码有助于理解该问题。