我正在尝试使用Java打印服务自动将打印作业发送到打印机,但它很快就变成了一场噩梦。来到手头的问题,这里是代码:
DocAttributeSet docAset = new HashDocAttributeSet();
docAset.add(MediaSizeName.NA_LETTER);
Doc myDoc = new SimpleDoc(book, psInFormat, docAset);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(new JobName("Test Job Name", null));
aset.add(MediaSizeName.NA_LETTER);
aset.add(Sides.ONE_SIDED);
aset.add(Fidelity.FIDELITY_TRUE);
// new JobState()
DocPrintJob job = services[8].createPrintJob();
try {
job.print(myDoc, aset);
//System.out.println(" Thread " + this.getId() + ": Envío de impresión OK");
} catch (PrintException ex) {
Logger.getLogger(PrototypeMain2.class.getName()).log(Level.SEVERE, null, ex);
}
此代码完全忽略介质尺寸并打印到默认的A4尺寸纸张。
非常感谢任何帮助。
答案 0 :(得分:0)
似乎打印机根据我设置的偏好设置使用默认纸张,因此如果我将首选项设置为使用字母大小,则会要求提供字母大小页面,默认情况下它将打印在A4尺寸纸张上。