目次|
前|
次 第3章
ドキュメントの種類の指定
ユーザーの観点から見ると、ドキュメントは、PDFファイル、デジタル・カメラからのイメージ、電子メール、ワード・プロセッサのドキュメント、Webページなどの様々な形式を取ることがあります。クライアントでは、特定の書式のドキュメントを印刷する前に、その書式がプリンタで認識されることを確認する必要があります。プリンタによっては、特定の書式のドキュメントを直接印刷できます。たとえば、フォト・プリンタでは、様々な形式のイメージを直接印刷できます。また、PostScriptプリンタでは、PostScriptドキュメントを直接印刷できます。ただし、広範囲の書式のドキュメントを直接印刷できるプリンタは、ほとんどありません。ほとんどのプリンタでは、ソース・ドキュメントを印刷できる書式に変換するために、高水準のソフトウェア・サポートが必要になります。
印刷APIは、次のことが可能になるように、ドキュメントの種類を記述するための方法を提供する必要があります。
- プリンタが印刷可能な書式を報告できる。
- クライアントが印刷したいデータの書式を記述できる。
- クライアントがテキスト・データのエンコーディングを記述できる。
Java印刷サービスAPIでは、DocFlavorクラスを使用してドキュメントの種類を記述します。DocFlavorは、次の要素で構成されます。
- プリンタでデータを解釈する方法を指示するMIMEタイプ。
- データがプリンタに送信される方法を記述したJavaクラスを示す表現クラス名。
印刷サービスへのHTMLページを記述するには、クライアントは、「text/html; charset=utf-16」のMIMEタイプ文字列と「java.io.InputStream」の表現クラス名を含むDocFlavorを使用することを選択する可能性があります。クライアントでは、次のどちらかの方法で、DocFlavorを取得できます。
- DocFlavor:DocFlavor htmlStreamFlavor = new DocFlavor("text/html; charset=utf-16", "java.io.InputStream"); を構築します。
- このタイプのDocFlavor:DocFlavor.INPUT_STREAM TEXT_HTML_UTF_16を表す定義済みのインスタンスを使用します。Java印刷サービスAPIには、使用頻度の高いドキュメント・フレーバ向けに、定義済みインスタンス・セットが組み込まれています。
HTMLページにはテキスト・データが含まれるため、MIMEタイプStringにはテキスト・エンコーディング(この例ではcharset=utf-16)が含まれています。クライアントでは、印刷サービスに対して印刷データを正確に指定する必要があります。「
クライアント指定書式付き印刷データ」のセクションでは、これを実現するためにDocFlavorを正しく構築する方法について説明します。MIMEタイプにテキスト・エンコーディングが含まれていない場合は、「
文字エンコーディングの重要性」のセクションで説明されているように、予期しない結果が発生する場合があります。クライアントがJavaオブジェクトとして指定したデータの書式は、サービスで決定することもできます。「
サービス書式設定済み印刷データ」のセクションでは、DocFlavorを使用してサービス書式設定済み印刷データを表現する方法について説明します。
DocFlavor APIでドキュメント・フレーバがあらかじめ宣言されているだけで、特定のフレーバの実装が使用可能になるわけではありません。たとえば、UTF-16のHTMLテキストを表す定義済みのDocFlavorを使用している場合でも、HTMLの印刷をサポートする印刷サービスがないかぎり、HTMLを印刷することはできません。プリンタが特定の書式をサポートしているかどうかの確認は、ユーザー側で行なってください。
目次|
前|
次