Java™ Platform
Standard Edition 7

パッケージ javax.print

JavaTM 印刷サービス API の主体クラスとインタフェースを提供します。

参照: 説明

パッケージ javax.print の説明

JavaTM 印刷サービス API の主体クラスとインタフェースを提供します。Java Print Service API を使用すると、クライアントおよびサーバーアプリケーションが次のことを実行できるようになります。

印刷サービスの検出

アプリケーションから抽象クラスPrintServiceLookup の static メソッドを呼び出して、アプリケーションの印刷要求を満たす機能を持った印刷サービスを検索します。たとえば、両面印刷のドキュメントを印刷する場合、アプリケーションは最初に、両面印刷対応のプリンタを検索する必要があります。

JDK には、標準プラットフォームプリンタを検出するための PrintServiceLookup 実装が含まれています。印刷サービスプロバイダは、IPP プリンタや JINI プリンタなど、その他の種類のプリンタを検索するために、PrintServiceLookup の実装を作成できます。印刷サービスプロバイダは、SPI JAR ファイル仕様を使用して、作成した PrintServiceLookup 実装を動的にインストールできます。

属性の定義

javax.print.attribute および javax.print.attribute.standard パッケージは、印刷サービス機能の記述、印刷ジョブ要件の指定、印刷ジョブの進行状況の追跡を行う印刷属性を定義します。

javax.print.attribute パッケージは、属性型、および属性型をセットにまとめる方法を記述します。javax.print.attribute.standard パッケージは、API のサポートするすべての標準属性を列挙します。これらの属性の大半は、IETF 仕様「RFC 2911 Internet Printing Protocol, 1.1: Model and Semantics」 (2000 年 9 月) で指定された属性の実装です。javax.print.attribute.standard で指定する属性には、解像度、コピー部数、メディアサイズ、ジョブの優先順位、ページ範囲などの一般的な機能が含まれます。

ドキュメント型の仕様

DocFlavor クラスは、JPEG や PostScript などの、印刷データの書式を表現します。DocFlavor オブジェクトは、形式を記述する MIME タイプと、ドキュメントをプリンタまたは出力ストリームに送信する方法を示すドキュメント表現クラス名で構成されます。アプリケーションは、DocFlavor および属性セットを使用して、DocFlavor により指定されたドキュメント型を印刷可能で、属性セットに指定された機能を保持するプリンタを検出します。

API の使用

Java Print Service API を使用する通常のアプリケーションは、次の手順を実行して、印刷要求を処理します。
  1. DocFlavor を選択する。
  2. 属性セットを作成する。
  3. DocFlavor および属性セットにより指定された印刷要求の処理が可能な印刷サービスを検出する。
  4. DocFlavor および実印刷データをカプセル化した Doc オブジェクトを作成する。これは、Postscript ファイル、JPEG イメージ、URL、プレーンテキストなど、さまざまな形式を取ることがある。
  5. DocPrintJob により表される印刷ジョブを印刷サービスから取得する。
  6. 印刷ジョブの印刷メソッドを呼び出す。
次のサンプルコードは、Java Print Service API の一般的な使用方法を示します。A4 サイズの PostScript ドキュメント (両面) を 5 部印刷可能なプリンタを検出し、返された印刷サービスの 1 つから印刷ジョブを作成し、印刷を呼び出します。

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(MediaSize.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
Java™ Platform
Standard Edition 7

バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.