PDF Tool API - サンプル集(スタンプ注釈の作成)

PDF、組版と文書変換のアンテナハウス株式会社

サイトマップ
hr トップ
ページ
hr デスクトップ
製品情報
hr システム
製品情報
hr DITA
サービス
hr 電子書籍
サービス
hr サポート hr 製品の購入
について
hr お問い合わせ hr 会社案内 hr

評価版のお申し込み

OEMについて詳しくはこちら

サポートについて

PDF Tool API V5.0 サンプル集 [ スタンプ注釈の作成 ]

サンプルコードの仕様概要


コマンドラインでの実行例


ダウンロード


出力結果 表示イメージ
スタンプ注釈結果イメージ

C#サンプルコード(抜粋:画像ファイルからのカスタムスタンプ)
using (PtlParamInput inputFile = new PtlParamInput(args[0]))
using (PtlParamOutput outputFile = new PtlParamOutput(args[1]))
using (PtlPDFDocument doc = new PtlPDFDocument())
{
    // PDFファイルをロードします。
    doc.load(inputFile);

    // ページコンテナの取得
    using (PtlPages pages = doc.getPages())
    {
        // ページコンテナが空かどうか
        if (pages.isEmpty())
        {
            Console.WriteLine("ページコンテナが空");
            return;
        }

        // 1ページ目の取得
        using (PtlPage page = pages.get(0))
        {
            // 注釈コンテナの取得
            using (PtlAnnots annots = page.getAnnots())
            {
                using (PtlAnnotStamp stampAnnot = new PtlAnnotStamp())
                {
	                stampAnnot.setIconType(PtlAnnotStamp.ICON_TYPE.ICON_CUSTOM);
	                stampAnnot.setAnnotFlags(PtlAnnot.ANNOT_FLAGS.FLAG_PRINT);

	                using (PtlParamDrawImage paramDrawImage = new PtlParamDrawImage())   // 画像描画パラメータ
	                using (PtlParamInput inputCustom = new PtlParamInput(pathImage))     // 画像ファイル
	                using (PtlParamImagePage paramImagePage = new PtlParamImagePage())   // 画像ページパラメータ
	                {
	                    // 画像描画パラメータに画像ファイルを設定
	                    paramDrawImage.setImageStream(inputCustom);

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

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

	                    // 画像ページパラメータから作成したページ
	                    using (PtlPage pageCustomStamp = new PtlPage(paramImagePage))
	                    {
	                        // 画像ページを注釈に追加する
	                        stampAnnot.setPage(pageCustomStamp);

	                        using (PtlSize size = pageCustomStamp.getSize())
	            // ページ左下に挿入
	                        using (PtlRect rect = new PtlRect(0.5f, 0.5f, 0.5f + size.getWidth(), 0.5f + size.getHeight()))
	                        {
	                            stampAnnot.setRect(rect);
	                        }
	                    }
	                }
	                stampAnnot.setIconName("MyIcon");
	                annots.append(stampAnnot);
                }
            }
        }
    }
    // 別のファイルに保存します。
    doc.save(outputFile);
}

C++サンプルコード(抜粋:PDFファイルからのカスタムスタンプ)
PtlParamInput input(argv[1]);
PtlParamOutput output(argv[2]);

PtlPDFDocument doc;

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

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

// ページコンテナが空かどうか
if(pages.isEmpty()){
	printf("ページコンテナが空\n");
	return 1;
}

// 1ページ目の取得
PtlPage page = pages.get(0);
		
// 注釈コンテナの取得
PtlAnnots& annots = page.getAnnots();

	//PDFファイルからスタンプ注釈を作成
	PtlAnnotStamp stampAnnot;
	PtlPDFDocument doc_custom;

	// PDFファイル
	PtlParamInput inputCustom(pathPdf);

	// スタンプにするPDFファイルをロードします。
	doc_custom.load(inputCustom);

        PtlPages& pagesCustomStamp = doc_custom.getPages();

	// ページコンテナが空かどうか
	if (pagesCustomStamp.isEmpty())
    	{
	    printf("ページコンテナが空\n");
           return;
    	}

	// 追加された画像ページを取得する
	PtlPage pageCustomStamp = pagesCustomStamp.get(0);
	// 画像ページを注釈に追加する
	stampAnnot.setPage(pageCustomStamp);

	PtlSize size = pageCustomStamp.getSize();

	stampAnnot.setRect(PtlRect(0.5f, 0.5f, 0.5f+(size.getWidth()/2), 0.5f+(size.getHeight()/2)));
	stampAnnot.setIconType(PtlAnnotStamp::ICON_CUSTOM);
	stampAnnot.setAnnotFlags(PtlAnnot::FLAG_PRINT);

	stampAnnot.setIconName("MyIcon");

	annots.append(stampAnnot);

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

Javaサンプルコード(抜粋:標準スタンプ)
PtlParamInput inputFile = new PtlParamInput(args[0]);
PtlParamOutput outputFile = new PtlParamOutput(args[1]);
PtlPDFDocument doc = new PtlPDFDocument();

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

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

// ページコンテナが空かどうか
if (pages.isEmpty())
{
    System.out.println("ページコンテナが空\n");
    return;
}

PtlPage page = pages.get(0);
PtlAnnots annots = page.getAnnots();

// 標準
PtlAnnotStamp stampAnnot1 = new PtlAnnotStamp();
PtlRect rect = new PtlRect(10.0f, 270.0f, 60.0f, 290.0f);
stampAnnot1.setRect(rect);
stampAnnot1.setIconType(PtlAnnotStamp.ICON_TYPE.ICON_APPROVED);
stampAnnot1.setAnnotFlags(PtlAnnot.FLAG_PRINT);
annots.append(stampAnnot1);

// ファイルに保存します。
doc.save(outputFile);
スペース
トップページサポートお問い合わせ会社案内
サイトマップ個人情報保護の考え方とお願い
Copyright Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.