画像からPDFのページを作成します。
画像をPDFの新規ページに変換し、PDFドキュメントに新規ページとして挿入すること、または新規のPDFドキュメントとして出力することができます。対応画像形式はBitmap、JPEG、PNG、GIF、TIFF、マルチTIFFです。
変換する画像の指定方法などはPDFに画像を描画するときと同様です。PDFに画像を描画する処理についての詳細は「『PDF CookBook』(第1巻)2.2 画像描画」を参照してください。
本サンプルプログラムでは、入力した画像ファイルを新しいPDFドキュメントとして出力します。作成するPDFページの幅と高さは、画像の横と縦のピクセル数から画像ファイルに設定されている解像度(ppi値)を使って計算します。
package cookbook; import jp.co.antenna.ptl.*; public class ImageToPdf { // そのクラスのusageを表示する関数 private static void printUsage() { System.out.println("usage: java ImageToPdf image-file out-pdf-file"); } /** * @param args the command line arguments */ public static void main(String[] args) { if (args.length < 2) { printUsage(); return; } try (PtlParamOutput outputFile = new PtlParamOutput(args[1]); PtlPDFDocument doc = new PtlPDFDocument(); //PDF文書を表現したクラスを新規作成 PtlPages pages = doc.getPages()) { //作成したクラスのページコンテナの取得 // 画像描画パラメータ // 画像ファイル // 画像ページパラメータ の取得 try (PtlParamDrawImage paramDrawImage = new PtlParamDrawImage(); PtlParamInput inputImage = new PtlParamInput(args[0]); PtlParamImagePage paramImagePage = new PtlParamImagePage()) { // 画像描画パラメータに画像ファイルを設定 paramDrawImage.setImageStream(inputImage); // 画像ページパラメータに画像描画パラメータを設定 paramImagePage.setImage(paramDrawImage); // 画像ページのサイズを画像サイズにあわせる paramImagePage.setPaperType(PtlParamImagePage.PAPER_TYPE.PAPER_IMAGE_SIZE); // 画像の配置を設定 paramImagePage.setAlign(PtlParamImagePage.ALIGN.ALIGN_CENTER); // ページコンテナに画像ページパラメータを追加 pages.append(paramImagePage); } // ファイルに保存します。 doc.save(outputFile); } ...【AppendAnnotStampDefault.javaと同じ処理のため省略 ・エラーメッセージ処理と出力】... } }
ImageToPdf.java
C:\samples>java cookbook.ImageToPdf usage: java ImageToPdf image-file out-pdf-file C:\samples>java cookbook.ImageToPdf fileformat.png imagetopdf.pdf -- 完了 --
左が画像(fileformat.png)を表示したところ、右が画像から作成したPDFを表示したところです。