フッターコンテンツにスキップ
製品比較

ITextSharpを使用してPDFファイルをマージする方法

PDF文書のマージは、ドキュメント管理システム、レポート生成ツールなど、さまざまなソフトウェアアプリケーションで一般的な要件です。 .NETエコシステムでは、開発者はPDFファイルを操作するためのいくつかのライブラリを利用できます。 C#アプリケーションでPDFを扱うための人気のある選択肢として、iTextSharpとIronPDFがあります。 この記事では、iTextSharpを使用してPDFを結合し、IronPDFと比較することで、PDF操作ニーズに最適なライブラリを選ぶための情報を提供します。

iTextSharpを使用してPDFファイルをマージする方法

iTextSharpを使用してPDFをマージするためのステップバイステップガイドは次のとおりです:

  1. 新しいDocumentオブジェクトを作成し、PDFファイルのベースパスを指定します。
  2. 編集のためにDocumentを開きます。
  3. マージするPDFファイル名の配列を定義します。
  4. リスト内の各PDFファイルに対してPdfReaderを作成し、そのコンテンツをPdfCopyオブジェクトに追加してからPdfReaderを閉じます。
  5. Documentを閉じ、マージされたPDFを完成させます。

IronPDF

IronPDF Webページは、開発者がC#および.NETアプリケーション内でPDFドキュメントを作成、変更、および操作することを可能にする.NETライブラリです。 PDF生成、HTMLからPDFへの変換、PDF操作(コンテンツの追加、削除、修正を含む)、インタラクティブ・フォームの処理、PDFのマージと分割、暗号化、クロスプラットフォームの互換性などの機能を提供することにより、PDF関連のタスクを簡素化し、PDF文書管理と生成を必要とする広範なアプリケーションにとって価値のあるツールです。

iTextSharp

iTextSharpはEOL(End-of-Life)を迎え、セキュリティ修正のみが視野に入っているため、iText 7に置き換えられました。 iText 7を使用するか、新しいプロジェクトに既存のものを移行することを強くお勧めします。 iText 7は、HTMLからPDFへの変換、PDFの修正、SVGサポート、より良い言語サポート、デバッグツール、データ抽出、よりモジュール化された機能性などの重要な改善を提供します。 PDFドキュメントの処理を簡素化し、AGPLおよび商用ライセンスのもとで利用可能です。

IronPDF ライブラリのインストール

Visual StudioプロジェクトにIronPDF NuGetパッケージをインストールするには、次の手順に従ってください:

  1. IronPDFライブラリを使用したいプロジェクトをVisual Studioで開きます。
  2. Visual Studioを使用している場合は、[ツール] > [NuGetパッケージマネージャー] > [パッケージマネージャーコンソール]へ進みます。
  3. パッケージマネージャーコンソールで、IronPDFをインストールするために次のコマンドを実行します:
Install-Package IronPdf

Visual Studioはパッケージとその依存関係をダウンロードしてインストールします。 進捗状況は[出力]ウィンドウで監視できます。 インストールが完了すると、C#のコードでIronPDFを使用し始めることができます。

**iTextSharpを使用してPDFファイルをマージする方法:図1 - 組み込みターミナルにVisual Studioでの完了したインストールを示しています。**

IronPDFが正常にインストールされたので、プロジェクトで使用を開始できます。 必要な"using"ステートメントをコードファイルに含め、IronPDFの機能を使用してPDFを操作し始めましょう。

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

C#プロジェクトでのPDFドキュメントの操作のためにIronPDFが提供する機能と機能にアクセスできます。 プロジェクトを保存し、ライブラリが正しく統合されていることを確認するためにビルドしてください。

iTextSharp PDFライブラリをインストール

C#プロジェクトにiTextSharp PDFライブラリをインストールするには、次の手順に従ってください:

  1. お気に入りの統合開発環境(IDE)(例:Visual Studio)でiTextSharpライブラリを使用したいC#プロジェクトを開きます。
  2. [ツール] > [NuGetパッケージマネージャー] > [パッケージマネージャーコンソール]へ進みます。
  3. パッケージマネージャーコンソールで次のコマンドを実行します:
Install-Package iTextSharp

このコマンドはNuGet(Visual Studioのためのパッケージマネージャー)に指示し、iTextSharpパッケージとその依存関係をプロジェクトにダウンロードしてインストールします。

NuGetはiTextSharpパッケージと必要な依存関係をダウンロードしてインストールします。 インストールの進捗状況をパッケージマネージャーコンソールで監視できます。

**iTextSharpを使用してPDFファイルをマージする方法**: 図2 - Visual Studioの組み込みターミナルに示される完了したインストール。

インストールが完了すると、iTextSharpパッケージが正常にインストールされたことを示す確認メッセージがパッケージマネージャーコンソールに表示されます。 iTextSharpが正常にインストールされたので、プロジェクトで使用を開始できます。 コードファイルに必要なusingステートメントを含め、iTextSharpの機能を使用してPDF操作を始めましょう。

IronPDFを使用して複数のPDFファイルを1つのPDFドキュメントにマージ

IronPDFは複数のPDFファイルを1つのPDFにマージするための直接の方法を提供します。 IronPDFはPDFドキュメントのマージに際して優れた柔軟性を提供します。 次のサンプルコードは、PDFを1つのPDFファイルにマージする方法を示します:

using IronPdf;
using System.Collections.Generic;

static void Main(string[] args)
{
    string basePath = @"D:\PDFFiles\";
    string[] pdfFiles = { "PdfFile_1.pdf", "PdfFile_2.pdf" };

    // Create a list to hold the PDF documents to be merged
    List<PdfDocument> docList = new List<PdfDocument>();

    // Add each PDF to the list
    foreach (string filename in pdfFiles)
    {
        docList.Add(new PdfDocument(basePath + filename));
    }

    // Merge the PDFs into one document
    var mergedPDF = PdfDocument.Merge(docList);

    // Save the merged PDF to the specified path
    mergedPDF.SaveAs(basePath + "mergePDFbyIronPDF.pdf");
}
using IronPdf;
using System.Collections.Generic;

static void Main(string[] args)
{
    string basePath = @"D:\PDFFiles\";
    string[] pdfFiles = { "PdfFile_1.pdf", "PdfFile_2.pdf" };

    // Create a list to hold the PDF documents to be merged
    List<PdfDocument> docList = new List<PdfDocument>();

    // Add each PDF to the list
    foreach (string filename in pdfFiles)
    {
        docList.Add(new PdfDocument(basePath + filename));
    }

    // Merge the PDFs into one document
    var mergedPDF = PdfDocument.Merge(docList);

    // Save the merged PDF to the specified path
    mergedPDF.SaveAs(basePath + "mergePDFbyIronPDF.pdf");
}
Imports IronPdf
Imports System.Collections.Generic

Shared Sub Main(ByVal args() As String)
	Dim basePath As String = "D:\PDFFiles\"
	Dim pdfFiles() As String = { "PdfFile_1.pdf", "PdfFile_2.pdf" }

	' Create a list to hold the PDF documents to be merged
	Dim docList As New List(Of PdfDocument)()

	' Add each PDF to the list
	For Each filename As String In pdfFiles
		docList.Add(New PdfDocument(basePath & filename))
	Next filename

	' Merge the PDFs into one document
	Dim mergedPDF = PdfDocument.Merge(docList)

	' Save the merged PDF to the specified path
	mergedPDF.SaveAs(basePath & "mergePDFbyIronPDF.pdf")
End Sub
$vbLabelText   $csharpLabel

上記のコードは、指定したベースパス(「D:\PDFFiles」)にある二つのPDFファイル(「PdfFile_1.pdf」と「PdfFile_2.pdf」)をマージするためにIronPDFライブラリを使用します。 PdfDocumentオブジェクトのリストを作成し、入力PDFをリストに追加し、PdfDocument.Mergeを使用してそれらを1つのPDFにマージし、同じベースパスに「mergePDFbyIronPDF.pdf」として保存します。

次に、この例で使用したサンプルのPDFです:

**iTextSharp を使用して PDF ファイルをマージする方法**: 図3 - 「A Simple PDF File」のタイトルとその下にある一部の本文テキストを含む単純なPDFファイル、および1ページのPDF記事。

次はマージされたPDFファイルです:

**iTextSharpを使用してPDFファイルをマージする方法**: 図4 - 最初に単純なPDFを、次に記事を含む結合PDF。

iTextSharpを使用して複数のPDFファイルをマージ

iTextSharpはPDFファイルをマージするための直接の方法を提供していません。 しかし、各入力PDFを開いてそのコンテンツを出力ドキュメントに追加することでそれを達成できます。 以下のサンプルコードは、PDFファイルを1つのPDFドキュメントにマージします:

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

static void Main(string[] args)
{
    // Create a new Document
    Document doc = new Document();

    string basePath = @"D:\PDFFiles\";

    // Create a PdfCopy instance to copy pages from source PDFs
    PdfCopy copy = new PdfCopy(doc, new FileStream(basePath + "mergePdf.pdf", FileMode.Create));

    // Open the document for writing
    doc.Open();

    string[] pdfFiles = { "PdfFile_1.pdf", "PdfFile_2.pdf" };

    // Loop through all the PDF files to be merged
    foreach (string filename in pdfFiles)
    {
        // Read the content of each PDF
        PdfReader reader = new PdfReader(basePath + filename);

        // Add the document to PdfCopy
        copy.AddDocument(reader);

        // Close the reader
        reader.Close();
    }

    // Close the Document
    doc.Close();
}
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;

static void Main(string[] args)
{
    // Create a new Document
    Document doc = new Document();

    string basePath = @"D:\PDFFiles\";

    // Create a PdfCopy instance to copy pages from source PDFs
    PdfCopy copy = new PdfCopy(doc, new FileStream(basePath + "mergePdf.pdf", FileMode.Create));

    // Open the document for writing
    doc.Open();

    string[] pdfFiles = { "PdfFile_1.pdf", "PdfFile_2.pdf" };

    // Loop through all the PDF files to be merged
    foreach (string filename in pdfFiles)
    {
        // Read the content of each PDF
        PdfReader reader = new PdfReader(basePath + filename);

        // Add the document to PdfCopy
        copy.AddDocument(reader);

        // Close the reader
        reader.Close();
    }

    // Close the Document
    doc.Close();
}
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports System.IO

Shared Sub Main(ByVal args() As String)
	' Create a new Document
	Dim doc As New Document()

	Dim basePath As String = "D:\PDFFiles\"

	' Create a PdfCopy instance to copy pages from source PDFs
	Dim copy As New PdfCopy(doc, New FileStream(basePath & "mergePdf.pdf", FileMode.Create))

	' Open the document for writing
	doc.Open()

	Dim pdfFiles() As String = { "PdfFile_1.pdf", "PdfFile_2.pdf" }

	' Loop through all the PDF files to be merged
	For Each filename As String In pdfFiles
		' Read the content of each PDF
		Dim reader As New PdfReader(basePath & filename)

		' Add the document to PdfCopy
		copy.AddDocument(reader)

		' Close the reader
		reader.Close()
	Next filename

	' Close the Document
	doc.Close()
End Sub
$vbLabelText   $csharpLabel

上記のコードは、iTextSharpを使用して指定されたベースパス(「D:\PDFFiles」)から二つのPDFファイル(「PdfFile_1.pdf」と「PdfFile_2.pdf」)を「mergePdf.pdf」として1つのPDFにマージします。これは各入力PDFを開き、その内容を出力文書に追加し、次に文書を閉じることで実現します。 上記のコードは、複数のPDFを1つのPDFにマージします。

次のように二つの入力ファイルを使用しました:

!iTextSharpを使用してPDFファイルをマージする方法: 図5 - 前と同じ入力PDF。

我々のコードによって作成された新しいファイルは次の通りです:

**iTextSharpを使用してPDFファイルをマージする方法**: 図6 - 最初に単純なPDFを、次に記事を含む結合PDF。

結論

iTextSharpとの比較で、IronPDFはC#アプリケーションでPDFドキュメントをマージするための優れた選択肢として浮上します。 両方のライブラリが可能ですが、IronPDFは、よりユーザーフレンドリーなインターフェース、HTMLからPDFへの変換などの最新機能、明確なライセンスオプション、NuGetを通じた簡単な統合、そして積極的な開発を提供し、マージプロセスを簡素化し、開発時間を短縮し、PDF関連のタスクにより信頼性の高いソリューションを保証します。 その使いやすいインターフェース、堅牢な機能セット、継続的な開発により、IronPDFはC#でのPDFマージにおいて優れたSol解です。

このサイトはiText 7と提携、承認、または後援されていません。すべての製品名、ロゴ、およびブランドはそれぞれの所有者の財産です。} このサイトは iText 7 と提携、承認、またはスポンサーされていません。すべての製品名、ロゴ、およびブランドは、それぞれの所有者に属しています。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。)}]

よくある質問

C#でPDFファイルを結合するにはどうすればよいですか?

C#でIronPDFを使用し、PdfDocumentオブジェクトのリストを作成し、PdfDocument.Mergeメソッドを活用して、これらを1つのPDFドキュメントに結合できます。

IronPDF を使用することの利点は何ですか?

IronPDFは、HTMLからPDFへの変換、インタラクティブフォーム、クロスプラットフォーム互換性などの最新機能を備えたユーザーフレンドリーなインターフェースを提供し、C#アプリケーションでのPDF操作を効率的に行えます。

C#プロジェクトにPDFライブラリをVisual Studioにインストールするにはどうすればよいですか?

Visual StudioのC#プロジェクトにIronPDFをインストールするには、NuGetパッケージマネージャーを使用して、パッケージマネージャーコンソールでコマンド「Install-Package IronPDF」を実行します。

PDFを結合するためのiTextSharpとIronPDFの違いは何ですか?

iTextSharpは各PDFドキュメントからコンテンツを手動で追加する必要がありますが、IronPDFはPDFを結合するための直接的な方法を提供し、開発時間と複雑さを軽減します。

なぜ開発者はiTextSharpからiText 7またはIronPDFに移行すべきですか?

開発者は、iTextSharpがサポート終了となったため、iText 7への移行を考慮すべきです。iText 7は機能性が向上していますが、IronPDFはさらに最新の機能と使いやすさを提供し、PDF操作において優れた選択肢となります。

IronPDFはPDFファイルを結合する以外のことを扱えますか?

はい、IronPDFは、PDFの生成、HTMLからPDFへの変換、コンテンツの変更、フォーム処理、暗号化の適用など、幅広いPDF操作をサポートしています。

IronPDFがPDF操作において信頼できる選択肢となる理由は何ですか?

IronPDFは積極的に開発されており、最新の機能を提供し、PDF操作タスクを簡素化するユーザーフレンドリーなインターフェースを持っています。これにより、開発者にとって信頼性が高く効率的な選択肢となっています。

IronPDFが古いライブラリと比較してPDFの結合プロセスをどのように改善するか?

IronPDFはPDFファイルを結合するための直接的なメソッドを提供し、C#プロジェクトへの統合を合理化し、全体的な開発時間を短縮します。

C#用のPDFライブラリを選ぶ際に開発者が考慮すべきことは何ですか?

開発者は使いやすさ、機能セット、ライセンスオプション、互換性、アクティブな開発サポートなどを考慮すべきです。IronPDFはこれらの分野で優れており、好まれる選択肢になっています。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。