最近のトラックバック

2017年10月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Google AdSense2

« Core 2 Quad Q9550s 予約! | トップページ | Core 2 Quad Q9550sで静音PCに挑戦! »

ASP.NETでPDFファイルのファイル結合

ASP.NET(C#)でPDFファイルのファイル結合を行うサンプルを紹介する。
このサンプルではiText#(iTextSharp)というフリーライブラリーを利用する。


■iTextSharpの準備方法
iTextSharpはSourceForgeここからダウンロードできる。
必要な物は以下の通り。

DLL 説明
itextsharp.dll iTextSharpのDLL
iTextAsian.dll 日本語リソースのDLL
これらDLLファイルをASP.NETプロジェクトのBinフォルダに配置すればOK。
詳しくはここを参照。


■ASP.NET(C#)サンプル
利用サンプル概要は以下の通り。
OnceMail Labから実行結果及び全ソースを確認できる。


using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;

 :
 :
 :

/// <summary>
/// PDFファイルの結合
/// </summary>
/// <param name="sSrcFilePath1">入力ファイルパス1</param>
/// <param name="sSrcFilePath2">入力ファイルパス2</param>
/// <param name="sJoinFilePath">結合ファイルパス</param>
private void fnJoinPdf(string sSrcFilePath1, string sSrcFilePath2, string sJoinFilePath)
{
    Document doc = null;    // 出力ファイルDocument
    PdfCopy copy = null;    // 出力ファイルPdfCopy
    string[] arySrcFilePath = { sSrcFilePath1, sSrcFilePath2 }; // 入力ファイルを配列化
    try
    {
        //-------------------------------------------------------------------------------------
        // ファイル件数分、ファイル結合
        //-------------------------------------------------------------------------------------
        for (int i = 0; i < arySrcFilePath.Length; i++)
        {
            // リーダー取得
            PdfReader reader = new PdfReader(arySrcFilePath[i]);
            // 入力ファイル1を出力ファイルの雛形にする
            if (i == 0)
            {
                // Document作成
                doc = new Document(reader.GetPageSizeWithRotation(1));
                // 出力ファイルPdfCopy作成
                copy = new PdfCopy(doc, new FileStream(sJoinFilePath, FileMode.Create));
                // 出力ファイルDocumentを開く
                doc.Open();
                // 文章プロパティ設定
                doc.AddKeywords((string)reader.Info["Keywords"]);
                doc.AddAuthor((string)reader.Info["Author"]);
                doc.AddTitle((string)reader.Info["Title"]);
                doc.AddCreator((string)reader.Info["Creator"]);
                doc.AddSubject((string)reader.Info["Subject"]);
            }
            // PDFコンテンツを取得、copyオブジェクトに追加
            for (int iPageCnt = 1; iPageCnt <= reader.NumberOfPages; iPageCnt++)
            {
                PdfImportedPage page = copy.GetImportedPage(reader, iPageCnt);
                copy.AddPage(page);
            }
            // フォーム入力を結合
            PRAcroForm form = reader.AcroForm;
            if (form != null)
                copy.CopyAcroForm(reader);
            // リーダーを閉じる
            reader.Close();
        }
    }
    finally
    {
        if (copy != null)
            copy.Close();
        if (doc != null)
            doc.Close();
    }
}


■関連ページ

« Core 2 Quad Q9550s 予約! | トップページ | Core 2 Quad Q9550sで静音PCに挑戦! »

ASP.NETサンプル」カテゴリの記事

C#サンプル」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/532391/43996917

この記事へのトラックバック一覧です: ASP.NETでPDFファイルのファイル結合:

« Core 2 Quad Q9550s 予約! | トップページ | Core 2 Quad Q9550sで静音PCに挑戦! »

Google AdSense


  • ---

Amazon ウィジェット

  • ウィジェット

@niyo_naのツイート

無料ブログはココログ

Google Analytics