4.1.1 ページの作成

images/ImageToPdf-top.png

狙い・効果

画像からPDFのページを作成します。

処理の概要

画像をPDFの新規ページに変換し、PDFドキュメントに新規ページとして挿入すること、または新規のPDFドキュメントとして出力することができます。対応画像形式はBitmap、JPEG、PNG、GIF、TIFF、マルチTIFFです。

変換する画像の指定方法などはPDFに画像を描画するときと同様です。PDFに画像を描画する処理についての詳細は「『PDF CookBook』(第1巻)2.2 画像描画」を参照してください。

本サンプルプログラムでは、入力した画像ファイルを新しいPDFドキュメントとして出力します。作成するPDFページの幅と高さは、画像の横と縦のピクセル数から画像ファイルに設定されている解像度(ppi値)を使って計算します。

PDF Tool APIの主な機能

プログラム例

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を表示したところです。

ページの作成