目次 | 前へ | 次へ
Doc と DocPrintJob を作成したら、ドキュメントをサービスに送信するために、DocPrintJob オブジェクトの印刷メソッドを呼び出すことができます。「印刷ジョブのプリンタへの送信」のセクションでは、印刷の例を完了します。「印刷ジョブのストリームへの送信」のセクションでは、ストリーム配信の例を完了します。
印刷ジョブのプリンタへの送信
このセクションでは、この章で説明されている印刷アプリケーションを完了します。この例では、PostScript ドキュメントを A4 用紙に 5 部両面印刷し、ステープル処理します。
DocFlavor psFlavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(new Copies(2));
aset.add(MediaSizeName.ISO_A4);
aset.add(Sides.TWO_SIDED_LONG_EDGE);
aset.add(Finishings.STAPLE);
PrintService[] pservices = PrintServiceLookup.lookupPrintServices(psFlavor,
aset);
if (services.length > 0) {
DocPrintJob pj = pservices[0].createPrintJob();
try {
FileInputStream fis = new FileInputStream("example.ps");
Doc doc = new SimpleDoc(fis, psFlavor, null);
pj.print(doc, aset);
} catch (IOException e) {
System.err.println(e);
} catch (PrintException e) {
System.err.println(e);
}
}
アプリケーション全体については「例: PrintPS.java」を参照してください。
印刷ジョブのストリームへの送信
このセクションでは、この章で説明されているストリーム配信の例を完了します。この例では、GIF ドキュメントを PostScript ドキュメントに変換し、指定した印刷属性を PostScript ドキュメントに埋め込みます。
DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
String psMimeType = DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMimeType();
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(new Copies(2));
aset.add(MediaSizeName.ISO_A4);
aset.add(Sides.TWO_SIDED_LONG_EDGE);
aset.add(Finishings.STAPLE);
StreamPrintServiceFactory[] factories =
StreamPrintServiceFactory.lookupStreamPrintServiceFactories(
flavor, psMimeType);
if(factories.length==0) {
System.err.println("No suitable factories");
System.exit(0);
}
try {
FileInputStream fis = new FileInputStream("java2dlogo.gif");
String filename = "newfile.ps";
FileOutputStream fos = new FileOutputSteam(filename);
StreamPrintService sps= factories[0].getPrintService(fos);
DocPrintJob pj = sps.createPrintJob();
Doc doc = new SimpleDoc(fos, psFlavor, aset);
pj.print(doc, aset);
} catch (IOException e) {
System.err.println(e);
} catch (PrintException e) {
System.err.println(e);
}
}
アプリケーション全体については、「例: PrintGIFtoStream.java」を参照してください。
目次 | 前へ | 次へ