PrintService インタフェースの実装は、PrintServiceLookup の実装から返される可能性のある実際のプリンタを表します。PrintService に照会すると、印刷サービスでサポートされる属性を返す多数のメソッドのいずれかを呼び出すことによって、その機能を判定できます。PrintService と PrintServiceLookup の使用については、「ドキュメントの印刷とストリーム配信」のセクションにある「サービスの検索」を参照してください。
JDK には、標準プラットフォームプリンタを検索できる PrintServiceLookup 実装が含まれています。印刷サービスプロバイダは、IPP プリンタや JINI プリンタなど、その他の種類のプリンタを検索するために、PrintServiceLookup の実装を作成できます。印刷サービスプロバイダは、SPI JAR ファイル仕様を使用して、作成した PrintServiceLookup 実装を動的にインストールできます。
アプリケーションはまた、データをプリンタに送信するのではなく、アプリケーションがデータを別の書式に変換できるようにする StreamPrintService を使用してデータを出力ストリームに印刷することもできます。StreamPrintService を取得するには、アプリケーション上で抽象クラス StreamPrintServiceFactory のルックアップメソッドを使用します。このクラスは PrintServiceLookup クラスと似ており、印刷サービスを検出します。StreamPrintServiceFactory と StreamPrintService の使用については、「ドキュメントの印刷とストリーム配信」の章を参照してください。StreamPrintService は、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 を参照してください。