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を参照してください。