目次||次

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

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, 2020, Oracle and/or its affiliates. All rights reserved.