を使ってみた。
最初は、簡単に画像ファイルを印刷するサンプルを実行してみた。
下記のサンプルでは、PrimoPDFを利用して印刷する例になっています。
結構簡単に印刷できました。
参考にしたページはこちら、
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/jps/spec/JPSTOC.fm.html
import java.io.FileInputStream; import java.io.FileNotFoundException; import javax.print.Doc; import javax.print.DocFlavor; import javax.print.DocPrintJob; import javax.print.PrintException; import javax.print.PrintService; import javax.print.PrintServiceLookup; import javax.print.SimpleDoc; import javax.print.attribute.HashPrintRequestAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; import javax.print.attribute.standard.Copies; import javax.print.attribute.standard.MediaSizeName; public class PrintPNGFileTest { /** * @param args */ public static void main(String[] args) { FileInputStream textstream= null; try{ textstream = new FileInputStream("D:\\white.png"); } catch (FileNotFoundException ffne) { } if (textstream == null) { return; } // ドキュメントの形式を設定。これはpngファイルの場合 DocFlavor flavor = DocFlavor.INPUT_STREAM.PNG; PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); //用紙のサイズを指定。 aset.add(MediaSizeName.ISO_A4); aset.add(new Copies(2)); PrintService[] services = PrintServiceLookup.lookupPrintServices( flavor, aset); System.out.println("プリンタ件数:"+services.length); for (int i=0;i<services.length;i++){ System.out.println(services[i].getName()); } int primoIdx=-1; for (int i=0;i<services.length;i++){ if ("PrimoPDF".equals(services[i].getName())){ primoIdx=i; } } if (services.length > 0) { Doc myDoc = new SimpleDoc(textstream, flavor, null); DocPrintJob job = services[primoIdx].createPrintJob(); try { job.print(myDoc, aset); } catch (PrintException pe) { pe.printStackTrace(); } } } }
0 件のコメント:
コメントを投稿