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

	概要：画像ファイルのPDF化

	Copyright 2013-2025 Antenna House, Inc.
*/

#include < PdfTk.h >
#include < stdio.h >

using namespace PdfTk;

int main(int argc, char* argv[])
{
	if (argc < 3) {
		printf("usage: ImageToPdf.exe append-image-file out-pdf-file\n");
		return 1;
	}
	try
	{
		PtlParamInput inputImage(argv[1]);
		PtlParamOutput output(argv[2]);

		PtlPDFDocument doc;

		// ページコンテナの取得
		PtlPages& pages = doc.getPages();

		// 画像のページ作成に使うパラメータクラス
		PtlParamImagePage paramImagePage;

		// 画像の描画に使うパラメータクラス
		PtlParamDrawImage paramDrawImage;

		// 入力画像ストリームの設定
		paramDrawImage.setImageStream(inputImage);

		// ページに挿入する画像パラメータの設定。
		paramImagePage.setImage(paramDrawImage);

		// 用紙タイプの設定  PAPER_IMAGE_SIZE /* 画像サイズに合わせる */
		paramImagePage.setPaperType(PtlParamImagePage::PAPER_IMAGE_SIZE);

		// ページの追加
		pages.append(paramImagePage);

		// ファイルに保存します。
		doc.save(output);

		printf("完了!\n");
	}
	catch (const PtlException &e)
	{
		fprintf(stderr, "Error code : %d\n %s\n", e.getErrorCode(), e.getErrorMessage().c_str());
		return 1;
	}	
	return 0;
}

