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

	概要：ファイルの添付（複数）

	Copyright 2016- Antenna House, Inc.
*/

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

using namespace PdfTk;

int main(int argc, char* argv[])
{
	if (argc < 6) {
		printf("usage: AppendEmbeddedFile.exe in-pdf-file out-pdf-file embedded-file embedded-file embedded-file\n");
		return 1;
	}
	try
	{
		PtlParamInput input(argv[1]);
		PtlParamOutput output(argv[2]);
		PtlParamString embeddedfilename_1(argv[3]);
		PtlParamString embeddedfilename_2(argv[4]);
		PtlParamString embeddedfilename_3(argv[5]);

		PtlPDFDocument doc;

		// PDFファイルをロードします。
		doc.load(input);

		// 添付ファイルコンテナの取得
		PtlEmbeddedFiles& embeddedfiles = doc.getEmbeddedFiles();

		{
			// PDFの添付ファイル
			PtlEmbeddedFile embeddedfile_1;

			// 添付ファイル名の設定
			embeddedfile_1.setFileName(embeddedfilename_1);

			// 添付するファイルの読み込み
			PtlParamInput inputEmbed_1(embeddedfilename_1);
			embeddedfile_1.readFile(inputEmbed_1);

			// 添付ファイルの追加
			embeddedfiles.append(embeddedfile_1);
		}

		{
			// PDFの添付ファイル
			PtlEmbeddedFile embeddedfile_2;

			// 添付ファイル名の設定
			embeddedfile_2.setFileName(embeddedfilename_2);

			// 添付するファイルの読み込み
			PtlParamInput inputEmbed_2(embeddedfilename_2);
			embeddedfile_2.readFile(inputEmbed_2);

			// 添付ファイルの追加
			embeddedfiles.append(embeddedfile_2);
		}

		{
			// PDFの添付ファイル
			PtlEmbeddedFile embeddedfile_3;

			// 添付ファイル名の設定
			embeddedfile_3.setFileName(embeddedfilename_3);

			// 添付するファイルの読み込み
			PtlParamInput inputEmbed_3(embeddedfilename_3);
			embeddedfile_3.readFile(inputEmbed_3);

			// 添付ファイルの追加
			embeddedfiles.append(embeddedfile_3);
		}
		// ファイルに保存します。
		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;
}

