目次 | 前の項目 | 次の項目 | JavaTM 印刷サービス API ユーザガイド |
Doc および DocPrintJob を作成したら、DocPrintJob オブジェクトの印刷メソッドを呼び出し、ドキュメントを印刷サービスに送信します。「印刷ジョブのプリンタへの送信」では、印刷の例を示します。「印刷ジョブのストリームへの送信」では、ストリーム配信の例を示します。
ここでは、この章で説明した印刷アプリケーションを完了します。この例では、PostScript ドキュメントを A4 用紙に 5 部両面印刷し、ステープル処理します。アプリケーション全体については、「例: PrintPS.java」を参照してください。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); } }
ここでは、この章で説明したストリーム配信の例を完了します。この例では、GIF ドキュメントを PostScript ドキュメントに変換し、指定した印刷属性を PostScript ドキュメントに埋め込みます。アプリケーション全体については、「例: PrintGIFtoStream.java」を参照してください。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); } }