2

印刷ジョブをプリンターに自動的に送信するためにJavaPrintServicesを使用しようとしていますが、すぐに悪夢に変わります。手元の問題に来て、ここにコードがあります:

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サイズの用紙に印刷します。

ここでの助けは大歓迎です。

4

1 に答える 1

0

設定した設定に基づいてプリンターがデフォルトの用紙を使用しているように見えるため、レター サイズを使用するように設定すると、レター サイズのページが要求され、デフォルトでは A4 サイズの用紙に印刷されます。

于 2013-01-15T08:35:08.837 に答える