目次||次

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

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

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

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

PrintService[] services = PrintServiceLookup
    .lookupPrintServices(DocFlavor.SERVICE_FORMATTED.PRINTABLE, null);
印刷アプリケーションは、Printableインタフェースを実装します。 Docを作成するには、SimpleDocを使用し、これをprintDataDocFlavorのサービス形式の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, 2025, Oracle and/or its affiliates. All rights reserved.