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

	概要：色透かしの挿入

	Copyright 2013-2021 Antenna House, Inc.
*/

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

using namespace PdfTk;

void appendWatermark(PtlPDFDocument& doc);

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

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

		// 透かしの設定
		appendWatermark(doc);

		// ファイルに保存します。
		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;
}

void appendWatermark(PtlPDFDocument& doc)
{
	PtlParamWaterMarkColor watermarkcolor;

	//透かしの名前の設定
	watermarkcolor.setName("透かしの名前");

	//透かしを配置するマージンの設定
	watermarkcolor.setMargin(10.0f, 10.0f, 10.0f, 10.0f);

	//透かしのZオーダーの設定 ZORDER_BACK /* 背面 */
	watermarkcolor.setZorder(PtlParamWaterMark::ZORDER_BACK);

	//透かしを入れるページの範囲の設定 PAGE_RANGE_ALL = 0 /* 全ページ */
	watermarkcolor.setPageRange(PtlParamWaterMark::PAGE_RANGE_ALL);

	//透かしの不透明度の設定
	watermarkcolor.setOpacity(0.4f);

	//透かしの色の設定
	watermarkcolor.setColor(PtlColorDeviceRGB(1.0f, 0.0f, 0.0f));

	//透かしの設定
	doc.appendWaterMark(watermarkcolor);

}
