目次 | 前の項目 | 次の項目 | JavaTM 印刷サービス API ユーザガイド |
Java 印刷サービス API は、javax.print、javax.print.attribute、javax.print.attribute.standard、および javax.print.event という 4 つのパッケージで構成されます。
javax.print パッケージは、この API のメインパッケージです。 このパッケージには、以下の機能に使用するクラスおよびインタフェースが組み込まれています。
アプリケーションから抽象クラス PrintServiceLookup の static メソッドを呼び出して、アプリケーションの印刷要求を満たす機能を持った印刷サービスを検索します。 たとえば、両面印刷のドキュメントを印刷するには、アプリケーションから両面印刷機能を持ったプリンタを検索する必要があります。PrintService インタフェースの実装は、PrintServiceLookup の実装から返される実際のプリンタを表現しています。 PrintService に照会してそのプリンタの機能を調べるには、印刷サービスで使用できる属性を返すメソッドを呼び出します。 PrintService および PrintServiceLookup の使用方法については、"ドキュメントの印刷およびストリーム配信#の"サービスの検索#を参照してください。
Java 2 SDK には、標準のプラットフォームプリンタを検索できる PrintServiceLookup の実装が組み込まれています。 印刷サービスプロバイダは、IPP プリンタや JINI プリンタなど、その他の種類のプリンタを検索するために、PrintServiceLookup の実装を作成できます。 印刷サービスプロバイダは、SPI JAR ファイル仕様を使用して、作成した PrintServiceLookup 実装を動的にインストールできます。
アプリケーションでは、データをプリンタに送信する代わりに、StreamPrintService を使用して出力ストリームに出力することもできます。 StreamPrintService を使用すると、アプリケーション上でデータを別の書式に変換できます。 StreamPrintService を取得するには、アプリケーション上で抽象クラス StreamPrintServiceFactory のルックアップメソッドを使用します。 このクラスは PrintServiceLookup クラスと似ており、印刷サービスを検出します。 StreamPrintServiceFactory および StreamPrintService の使用方法については、「ドキュメントの印刷およびストリーム配信」を参照してください。 StreamPrintService は、2D グラフィックスを出力ストリームに送信するときにも使用できます。 詳細については、"2D グラフィックスの印刷とストリーム配信#を参照してください。
DocFlavor クラスは、JPEG や PostScript などの、印刷データの書式を表現します。 DocFlavor オブジェクトは、MIME タイプおよび表現クラス名 (java.io.InputStream など) から構成されます。前者には書式を指定し、後者にはドキュメントをサービスに配信する方法を指定します。 JPS API には、使用頻度の高いデータ書式を表現する、定義済みの DocFlavor オブジェクトも組み込まれています。 DocFlavor オブジェクトの使用方法については、"ドキュメントの種類の指定#を参照してください。
アプリケーションでは、適切な印刷サービスを検出すると、そのサービスから印刷ジョブを作成します。 印刷ジョブは、DocPrintJob クラスによって表現されます。このクラスには、実際の印刷メソッドが組み込まれています。 アプリケーションでは、印刷メソッドを呼び出す前に、Doc オブジェクトを作成して印刷データと印刷要求属性をカプセル化します。印刷要求属性は、javax.print.attribute および javax.print.attribute.standard パッケージに定義されています。 Doc および DocPrintJob の使用方法については、「ドキュメントの印刷およびストリーム配信」を参照してください。 Java 印刷サービスを使用して 2D グラフィックスを印刷するアプリケーションでは、PrinterJob クラスまたは DocPrintJob クラスを使用できます。 Java 印刷サービスを使用して 2D グラフィックスを印刷する方法については、"2D グラフィックスの印刷とストリーム配信#を参照してください。javax.print.attribute および javax.print.attribute.standard パッケージには、印刷の属性が定義されています。これらの属性には、印刷サービスの機能、ドキュメントの特性、特定のドキュメントまたは印刷ジョブ全体に対する処理命令、あるいは印刷ジョブまたはプリンタの状態が指定されています。
javax.print.attribute パッケージには、属性の種類と、属性を収集して属性セットにまとめる方法が指定されています。 Attribute インタフェースは、すべての属性のスーパーインタフェースです。 javax.print.attribute パッケージには、5 種類の異なる属性を定義したクラスとインタフェースが組み込まれています。これらの属性には、特定の印刷処理の機能が規定されています。 たとえば、PrintRequestAttribute インタフェースには、クライアントが使用する属性が定義されています。この属性には、印刷部数などの印刷ジョブの特性が規定されています。
javax.print.attribute.standard パッケージには、この API でサポートされる標準属性がすべて列挙されています。そのほとんどは、IPP 仕様に指定されている属性の実装です。 詳細については、属性 API を参照してください。
javax.print.event パッケージには、印刷ジョブおよび印刷サービスに関するイベントに登録するためのクラスが組み込まれています。 印刷ジョブイベントへの登録については、"イベントの登録#を参照してください。