モジュール java.desktop
パッケージ javax.print
Java™ Print Service APIの主なクラスとインタフェースを提供します。 Java Print Service APIを使用すると、クライアントおよびサーバー・アプリケーションが次のことを実行できるようになります。
- 機能に基づいて、印刷サービスを検出および選択する
- 印刷データの形式を指定する
- 印刷するドキュメント型をサポートするサービスに印刷ジョブを送信する
印刷サービスの検出
アプリケーションから抽象クラスPrintServiceLookup
のstaticメソッドを呼び出して、アプリケーションの印刷要求を満たす機能を持った印刷サービスを検索します。 たとえば、両面印刷のドキュメントを印刷する場合、アプリケーションは最初に、両面印刷対応のプリンタを検索する必要があります。
JDKには、標準プラットフォーム・プリンタを検出するためのPrintServiceLookup
実装が含まれています。 印刷サービス・プロバイダは、IPPプリンタやJINIプリンタなど、その他の種類のプリンタを検索するために、PrintServiceLookup
の実装を作成できます。 印刷サービス・プロバイダは、ServiceLoader
機能を使用してこれらのPrintServiceLookup
実装を動的にインストールできます。
属性定義
javax.print.attribute
およびjavax.print.attribute.standard
パッケージは、印刷サービス機能の記述、印刷ジョブ要件の指定、印刷ジョブの進行状況の追跡を行う印刷属性を定義します。
javax.print.attribute
パッケージは、属性型、および属性型をセットにまとめる方法を記述します。 javax.print.attribute.standard
パッケージは、APIによってサポートされているすべての標準属性を列挙します。これらの属性のほとんどは、2000年9月のIETF仕様書「RFC 2911インターネット印刷プロトコル、1.1: モデルとセマンティクス」で指定されている属性の実装です。 javax.print.attribute.standard
で指定する属性には、解像度、印刷部数、媒体サイズ、ジョブの優先順位、ページ範囲などの一般的な機能が含まれます。
ドキュメント型の仕様
DocFlavor
クラスは、JPEGやPostScriptなどの、印刷データの書式を表現します。 DocFlavor
オブジェクトは、形式を記述するMIMEタイプと、ドキュメントをプリンタまたは出力ストリームに送信する方法を示すドキュメント表現クラス名で構成されます。 アプリケーションは、DocFlavor
および属性セットを使用して、DocFlavor
により指定されたドキュメント型を印刷可能で、属性セットに指定された機能を保持するプリンタを検出します。
APIの使用
Java Print Service APIを使用する通常のアプリケーションは、これらのステップを実行して、印刷要求を処理します。DocFlavor
を選択する。- 属性セットを作成する。
DocFlavor
および属性セットにより指定された印刷要求の処理が可能な印刷サービスを検出する。DocFlavor
と実際の印刷データをカプセル化したDoc
オブジェクトを作成します。このオブジェクトには、: Postscriptファイル、JPEGイメージ、URL
、またはプレーンテキストです。DocPrintJob
により表される印刷ジョブを印刷サービスから取得する。- 印刷ジョブの印刷メソッドを呼び出す。
FileInputStream psStream; try { psStream = new FileInputStream("file.ps"); } catch (FileNotFoundException ffne) { } if (psStream == null) { return; } DocFlavor psInFormat = DocFlavor.INPUT_STREAM.POSTSCRIPT; Doc myDoc = new SimpleDoc(psStream, psInFormat, null); PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); aset.add(new Copies(5)); aset.add(MediaSizeName.ISO_A4); aset.add(Sides.DUPLEX); PrintService[] services = PrintServiceLookup.lookupPrintServices(psInFormat, aset); if (services.length > 0) { DocPrintJob job = services[0].createPrintJob(); try { job.print(myDoc, aset); } catch (PrintException pe) {} }
ご注意ください: javax.print
APIでは、メソッドに明示的に記述されていない限り、メソッドへのnull
参照パラメータが正しくありません。 これに反する使用は無効なコーディングであり、すぐにまたはあとで実行時の例外が生ずる結果になります。 IllegalArgumentException
およびNullPointerException
は、そのような場合の一般的で許容される実行時例外の例です。
- 導入されたバージョン:
- 1.4
-
インタフェースのサマリー インタフェース 説明 AttributeException インタフェースAttributeException
はmixinインタフェースであり、PrintException
のサブクラスは、特定のPrint Serviceインスタンスがサポートしていない1つ以上の印刷属性を含むエラー状態を報告するために実装できます。CancelablePrintJob このインタフェースは、印刷ジョブを取り消す際に印刷アプリケーションにより使用されます。Doc インタフェースDoc
は、印刷ジョブのために1つの印刷データを供給するオブジェクトのインタフェースを指定します。DocPrintJob このインタフェースは、ジョブ属性セットを保持する指定されたドキュメントを印刷可能な印刷ジョブを表します。FlavorException インタフェースFlavorException
は、mixinインタフェースであり、PrintException
のサブクラスは、docフレーバまたは(クラスDocFlavor
)のフレーバに関するエラー状態を報告するために実装できます。MultiDoc インタフェースMultiDoc
は、印刷ジョブに対して複数の印刷データを供給するオブジェクトのインタフェースを指定します。MultiDocPrintJob MultiDocPrintService
から取得したMultiDocPrintJob
は、指定された文書の集合をジョブ属性のセットを持つ単一の印刷ジョブとして印刷できます。MultiDocPrintService インタフェースMultiPrintService
は、MultiDocPrintJob
のファクトリです。PrintService インタフェースPrintService
は、DocPrintJob
のファクトリです。URIException インタフェースURIException
は、URI
アドレスを含むエラー状態を報告するためにPrintException
のサブクラスが実装できるmixinインタフェースです。 -
クラスのサマリー クラス 説明 DocFlavor DocFlavor
クラスは、印刷データのDocPrintJob
への提供形式を指定するオブジェクトをカプセル化します。DocFlavor.BYTE_ARRAY クラスDocFlavor.BYTE_ARRAY
は、事前定義された静的定数DocFlavor
オブジェクト(例えば、印刷データ表現クラスとしてバイト配列(byte[]
)を使用するdocフレーバ)を提供します。DocFlavor.CHAR_ARRAY クラスDocFlavor.CHAR_ARRAY
は、文字配列(char[]
)を印刷データ表現クラスとして使用して、docフレーバなどの事前定義された静的定数DocFlavor
オブジェクトを提供します。DocFlavor.INPUT_STREAM クラスDocFlavor.INPUT_STREAM
は、事前定義された静的定数DocFlavor
オブジェクト(例えば、印刷データ表現クラスとしてバイト・ストリーム(java.io.InputStream
)を使用するdocフレーバ)を提供します。DocFlavor.READER クラスDocFlavor.READER
は、文字データ・ストリーム(java.io.Reader
)を印刷データ表現クラスとして使用して、docフレーバなどの事前定義された静的定数DocFlavor
オブジェクトを提供します。DocFlavor.SERVICE_FORMATTED クラスDocFlavor.SERVICE_FORMATTED
は、定義済みの静的定数DocFlavor
オブジェクト(サービス・フォーマットされた印刷データ用のdocフレーバなど)を提供します。DocFlavor.STRING クラスDocFlavor.STRING
は、印刷データ表現クラスとして文字列(java.lang.String
)を使用するdocフレーバなど、事前定義された静的定数DocFlavor
オブジェクトを提供します。DocFlavor.URL クラスDocFlavor.URL
は、定義済みの静的定数DocFlavor
オブジェクトを提供します。PrintServiceLookup このクラスの実装は、特定のタイプの印刷サービス(通常はプリンタと同義)用の検索サービスを提供します。ServiceUI このクラスは、Java Print Service APIを介してルックアップされた印刷サービス閲覧用のグラフィカルなユーザー・ダイアログを提供する、利便性の高いUIメソッドのコレクションです。ServiceUIFactory サービスは、オプションでUIを提供することができます。SimpleDoc このクラスは、一般的な多くの印刷要求で使用可能なDoc
インタフェースの実装です。StreamPrintService このクラスは、PrintService
を拡張し、クライアントによって指定された出力ストリームに別の形式でデータを印刷する印刷サービスを表します。StreamPrintServiceFactory StreamPrintServiceFactory
は、StreamPrintService
インスタンスのファクトリです。これにより、MIMEタイプに記述された特定のドキュメント形式で出力ストリームを印刷することが可能になります。 -
例外のサマリー 例外 説明 PrintException クラスPrintException
は、Print Serviceインスタンスの使用中に発生した印刷関連のエラー状態をカプセル化します。