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

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

評価版のお申し込み

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

サポートについて

PDF Tool API V5.0 サンプル集 [ 文字列描画 ]

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


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


ダウンロード


出力結果 表示イメージ
文字列挿入結果イメージ

C#サンプルコード
using PdfTkNet;

namespace WriteStringTest_cs
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args.Length < 2)
            {
                Console.WriteLine("usage: WriteString.exe in-pdf-file out-pdf-file");
                return;
            }

            try
            {
                using (PtlParamInput inputFile = new PtlParamInput(args[0]))
                using (PtlParamOutput outputFile = new PtlParamOutput(args[1]))
                using (PtlPDFDocument doc = new PtlPDFDocument())
                {
                    // PDFファイルをロードします。
                    doc.load(inputFile);

                    int npagenum = doc.getPageCount();  //ページ数取得

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

                        for (int ii = 0; ii < npagenum; ii++)
                        {
                            using (PtlPage page = pages.get(ii))
                            {
                                // テキスト追加
                                writeString(page);
                            }
                        }
                    }

                    // ファイルに保存します。
                    doc.save(outputFile);
                }
            }
            catch (PtlException pex)
            {
                Console.WriteLine(pex.getErrorCode() + " : " + pex.getErrorMessageJP());
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                Console.WriteLine("-- 完了 --");
            }
        }


        static void writeString(PtlPage page)
        {
            PtlSize size = page.getSize();  //ページサイズを取得
            float ww = size.getWidth();     //ページの幅
            float hh = size.getHeight();    //ページの高さ

            using (PtlContent content = page.getContent())  // ページコンテントの取得
            {
                // 文字列出力
                using (PtlRect rect = new PtlRect(0.0f, 0.0f, ww,hh))   //rect = この場合ページのrect
                using (PtlParamWriteString writestring = new PtlParamWriteString()) // 文字の描画に使うパラメータクラス
                {
                    // フォント指定に使うパラメータクラス
                    using (PtlParamFont font = new PtlParamFont())
                    {
                        // フォント名の設定
                        font.setName("メイリオ");

                        // サイズの設定
                        font.setSize(62.0f);

                        // フォントの設定
                        writestring.setFont(font);
                    }
                    // 文字色設定
                    using (PtlColorDeviceRGB colorText = new PtlColorDeviceRGB(1.0f, 0.0f, 0.0f))
                    {
                        writestring.setTextColor(colorText);
                    }
                    // rectの右下に文字列を描画する
                    content.writeString(rect, PtlContent.ALIGN.ALIGN_BOTTOM_RIGHT, "文字列出力", writestring);
                }
            }
        }
    }
}

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