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

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

評価版のお申し込み

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

サポートについて

PDF Tool API V5.0 サンプル集 [ PDF透かし ]

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


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


ダウンロード


出力結果 表示イメージ
PDF透かし結果イメージ

C#サンプルコード(抜粋)
using PdfTkNet;

static void AppendNewPdfWatermark(PtlPDFDocument doc)
{
    // 新しいPDF(=透かしとするPDF)を用意する
    using (PtlPage blankPage = new PtlPage())

    //フォント指定に使うパラメータクラス
    using (PtlParamFont font = new PtlParamFont())

    //文字の描画に使うパラメータクラス
    using (PtlParamWriteString writestring = new PtlParamWriteString())
    {
        // ページコンテナの取得
        PtlContent content = blankPage.getContent();

        // 新しいPDFに描画するテキスト
        string text = "AppendNewPdfWatermark Test";

        //フォント名の設定
        font.setName("MS-Gothic");

        //フォントサイズの設定
        float fontSize = 30.0f;
        font.setSize(fontSize);

        //フォントの設定
        writestring.setFont(font);

        //文字色設定
        writestring.setTextColor(new PtlColorDeviceRGB(0.0f, 0.0f, 1.0f));

        //文字の縁取り色設定
        writestring.setOutlineColor(new PtlColorDeviceRGB(0.8f, 0.8f, 0.8f));

        //入力ファイル(=PDF透かしを挿入するファイル)の1ページ目のページサイズを取得
        PtlPages pages = doc.getPages();
        PtlPage page = pages.get(0);
        PtlSize pageSize = page.getSize();
        float pageH = pageSize.getHeight(); //ページ高さ
        float pageW = pageSize.getWidth();  //ページ幅

        //新しいPDFにテキストを描画する矩形→入力ファイル1ページ目のページサイズとする
        PtlRect rect = new PtlRect(0, 0, pageW, pageH);

        //新しいPDFの表示域を入力ファイルの1ページ目に合わせる
        blankPage.setViewBox(rect);

        //文字列出力
        content.writeString(rect, PtlContent.ALIGN.ALIGN_CENTER, text, writestring);

        //文字列を囲む矩形→出力文字列に下線を引くために用いる
        float textH = (25.4f * fontSize) / 72.0f;   //文字列の高さ
        float textW = font.getStringWidth(text);    //文字列の幅
        float textLeft = (pageW - textW) / 2;       //左位置
        float textBottom = (pageH - textH) / 2;     //下位置
        PtlRect txtrect = new PtlRect(textLeft, textBottom, textLeft +textW, textBottom + textH);

        //下線の始点
        PtlPoint fromMM = new PtlPoint(txtrect.getLeft(), txtrect.getBottom());

        //下線の終点
        PtlPoint toMM = new PtlPoint(txtrect.getRight(), txtrect.getBottom());

        // テキスト下線を描画する
        using (PtlParamDrawShape drawShape = new PtlParamDrawShape())
        {
            PtlColorDeviceRGB clrrgb = new PtlColorDeviceRGB(0.3f, 0.4f, 0.8f);
            drawShape.setLineColor(clrrgb);
            drawShape.setLineWidth(PtlParamDrawShape.LINE_WIDTH.LINE_WIDTH_THICK);
            content.drawLine(fromMM, toMM, drawShape);
        }

        // 透かしの設定
        using (PtlParamWaterMarkPDF watermarkpdf = new PtlParamWaterMarkPDF())
        {
            //透かしを配置する矩形
            watermarkpdf.setRect(rect);

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

            // 透かしに使用するPDFを設定
            watermarkpdf.setPage(blankPage);

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

スペース
トップページサポートお問い合わせ会社案内
サイトマップ個人情報保護の考え方とお願い
Copyright Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.