第84回 Java Print Service API その2
引き続き「Java Print Service API」について学んでいきます。
今回は「docフレーバ」を学びます。
docフレーバとは、印刷データの提供形式を表現するオブジェクトです。
docフレーバは以下の情報で構成されます。
・データをプリンタに送信する方法を指定する表現クラス名(例 URL、InputStream、byte配列)
・データの解釈方法をプリンタに通知するMIMEタイプ
Java Print Service APIでは、標準で様々なdocフレーバが定数として用意されています。
例えば、インターネット上のGIF画像を印刷する場合には、「DocFlavor.URL.GIF」を使用します。
今回のサンプルでは、印刷サービスがサポートしているdocフレーバの一覧を出力します。
(Java5以降)
import javax.print.DocFlavor;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
public class MyPrintService {
public static void main(String args[]) {
// デフォルトのプリントサービス取得
PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
System.out.println(printService);
System.out.println();
// プリントサービスがサポートするdocフレーバを出力
for (DocFlavor docFlavor : printService.getSupportedDocFlavors()) {
System.out.println("docFlavor: " + docFlavor);
System.out.println("MediaSubtype: " + docFlavor.getMediaSubtype());
System.out.println("MediaType: " + docFlavor.getMediaType());
System.out.println("MimeType: " + docFlavor.getMimeType());
System.out.println();
}
}
}
様々な定数が用意されているのに、実際にプリンタがサポートしている形式は少ないということが確認できるでしょう……。

