/*
    Antenna House PDF Tool API V8.0
    Java Interface sample program

    概要：画像ファイルのPDF化（90度回転）

    Copyright 2015-2026 Antenna House, Inc.
*/

package Sample;

import jp.co.antenna.ptl.*;

public class ImageToPdf_2 {

	public static void main(String[] args) {
        if (args.length < 2)
        {
            System.out.println("usage: java ImageToPdf_2 image-file out-pdf-file");
            return;
        }

        try (PtlParamOutput outputFile = new PtlParamOutput(args[1]);
             PtlPDFDocument doc = new PtlPDFDocument();
             PtlPages pages = doc.getPages())  // ページコンテナの取得
        {
            try (PtlParamDrawImage paramDrawImage = new PtlParamDrawImage();  // 画像描画パラメータ
                 PtlParamInput inputImage = new PtlParamInput(args[0]);       // 画像ファイル
                 PtlParamImagePage paramImagePage = new PtlParamImagePage())  // 画像ページパラメータ
            {
                // 画像描画パラメータに画像ファイルを設定
                paramDrawImage.setImageStream(inputImage);

        		// 回転角度を設定
        		paramDrawImage.setRotate(90);

        		// 画像ページパラメータに画像描画パラメータを設定
                paramImagePage.setImage(paramDrawImage);

                // 画像ページのサイズを画像サイズにあわせる
                paramImagePage.setPaperType(PtlParamImagePage.PAPER_TYPE.PAPER_IMAGE_SIZE);

                // ページコンテナに画像ページパラメータを追加
                pages.append(paramImagePage);
            }

            // ファイルに保存します。
            doc.save(outputFile);
        }
        catch (PtlException pex) {
             System.out.println("PtlException : ErrorCode = " + pex.getErrorCode() + "\n  " + pex.getErrorMessage());
        }
        catch (Exception ex) {
            System.out.println(ex.getMessage());
            ex.printStackTrace();
        }
        catch (Error ex) {
            System.out.println(ex.getMessage());
            ex.printStackTrace();
        }
        finally {
            System.out.println("-- 完了 --");
        }
    }
}
