目次||

印刷ジョブの送信

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」を参照してください。

 


目次||

Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.