EeBlog(テクニカルブログ)

第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();
         }
     }
 }

様々な定数が用意されているのに、実際にプリンタがサポートしている形式は少ないということが確認できるでしょう……。