印刷ジョブをプリンターに自動的に送信するために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サイズの用紙に印刷します。
ここでの助けは大歓迎です。