用Java打印 - 忽略介质大小

时间:2013-01-10 08:23:12

标签: java printing

我正在尝试使用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尺寸纸张。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

似乎打印机根据我设置的偏好设置使用默认纸张,因此如果我将首选项设置为使用字母大小,则会要求提供字母大小页面,默认情况下它将打印在A4尺寸纸张上。