目次 | 前へ | 次へ

サービス書式設定済みデータ

DocPrintJob とサービス書式設定済み DocFlavor を使用して、Pageable または Printable オブジェクト内にカプセル化された 2D グラフィックスを印刷またはストリーム配信できます。DocFlavor は、Java オブジェクトなど、あらゆる種類のデータを表現できます。Pageable または Printable インタフェースの実装は、Java オブジェクトです。「ドキュメントの種類の指定」の章で説明されているように、Java 印刷サービス API には、印刷データのための定義済みの DocFlavor オブジェクト定数が Java オブジェクトの形式で組み込まれています。アプリケーションでは、この種類のデータをサポートする印刷サービスまたはストリーム印刷サービスを検索し、Doc 実装内にオブジェクトをカプセル化して、DocPrintJob 内のサービスに送信できます。「サービス書式設定済みデータの印刷」のセクションは、データの印刷を示します。「サービス書式設定済み印刷データのストリーム配信」のセクションは、データのストリーム配信を示します。DocPrintJob を使用して 2D グラフィックスを印刷するアプリケーションにイベントを登録する方法は、DocPrintJob を使用してドキュメントを印刷するアプリケーションにイベントを登録する方法と同じです。詳細は、「イベントの登録」を参照してください。

サービス書式設定済みデータの印刷

サービス書式設定済みデータを処理できる印刷サービスを検索するには、適切なサービス書式設定済み DocFlavor オブジェクト定数を lookupPrintServices メソッドに渡します。

PrintService []services =
        PrintServiceLookup.lookupPrintServices(DocFlavor.SERVICE_FORMATTED.PRINTABLE,
                                                        null);
印刷アプリケーションが Printable インタフェースを実装します。Doc を作成するには、SimpleDoc を使用します。このとき、this を printData に渡します。つまり、サービス書式設定済み DocFlavor 定数およびオプションの属性セットを DocFlavor に渡します。

Doc  doc = new SimpleDoc(this, DocFlavor.SERVICE_FORMATTED.PRINTABLE, null);
DocPrintJob を作成し、それをサービスに送信します。

DocPrintJob pj = service[0].createPrintJob();
pj.print(doc);
アプリケーション全体については、「例: Print2DGraphics.java」を参照してください。

サービス書式設定済み印刷データのストリーム配信

ストリーム印刷サービスを使用すると、Java オブジェクト内にカプセル化された 2D グラフィックスを別の書式にエクスポートできます。次の例では、Printable のグラフィックスを Postscript にエクスポートしています。

DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE
StreamPrintServiceFactory []factories =
        StreamPrintServiceFactory.lookupStreamPrintServiceFactories(flavor,
                                                        "application/postscript"));
if (factories.length == 0) {
        System.err.println("No suitable factories");
        System.exit(0);
}
try{
        FileOutputStream fos = new FileOutputStream("out.ps");
        StreamPrintService sps = factories[0].getPrintService(fos);
}
Doc  doc = new SimpleDoc(this, flavor, null);
sps.createPrintJob().print(doc);
アプリケーション全体については、「例: Print2DtoStream.java」を参照してください。



目次 | 前へ | 次へ

Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.
連絡先