
PDFファイルを1つの文書に結合する方法
PDF文書のマージは、ドキュメント管理システム、レポート生成ツールなど、さまざまなソフトウェアアプリケーションで一般的な要件です。 .NETエコシステムでは、開発者はPDFファイルを操作するためのいくつかのライブラリを利用できます。 iTextとIronPDFは、C#アプリケーションでPDFを扱うための2つの人気の選択肢です。 この記事では、iTextを使用してPDFをマージする方法と、それをIronPDFと比較し、PDF操作のニーズに最適なライブラリを選ぶ手助けをします。
iTextを使用してPDFファイルをマージする方法
こちらはiTextを使ってPDFをマージするステップバイステップガイドです:
- 新しい
Documentオブジェクトを作成し、PDFファイルの基本パスを指定します。 - 編集用に
Documentを開きます。 - マージするPDFファイル名の配列を定義します。
- リストの各PDFファイルに対して、
PdfReaderを閉じます。 Documentを閉じ、マージされたPDFを確定します。
IronPDF
IronPDF Webページは、開発者がC#および.NETアプリケーション内でPDFドキュメントを作成、変更、および操作することを可能にする.NETライブラリです。 PDF生成、HTMLからPDFへの変換、PDF操作(コンテンツの追加、削除、修正を含む)、インタラクティブ・フォームの処理、PDFのマージと分割、暗号化、クロスプラットフォームの互換性などの機能を提供することにより、PDF関連のタスクを簡素化し、PDF文書管理と生成を必要とする広範なアプリケーションにとって価値のあるツールです。
iText
iTextはEOL(End-of-Life)を迎え、セキュリティ修正のみが残っているため、iTextに置き換えられました。 iTextを使用するか、新しいプロジェクトのために既存のものを移行することを強く推奨します。 iTextは、HTMLからPDFへの変換、PDFの編集、SVGサポート、より良い言語サポート、デバッグツール、データ抽出、よりモジュール化された機能を含む、重要な改良を提供します。 PDFドキュメントの処理を簡素化し、AGPLおよび商用ライセンスのもとで利用可能です。
IronPDFライブラリをインストールする
Visual StudioプロジェクトにIronPDF NuGetパッケージをインストールするには、次の手順に従ってください:
- IronPDFライブラリを使用したいプロジェクトをVisual Studioで開きます。
- Visual Studioを使用している場合は、[ツール] > [NuGetパッケージマネージャー] > [パッケージマネージャーコンソール]へ進みます。
- パッケージマネージャーコンソールで、IronPDFをインストールするために次のコマンドを実行します:
Visual Studioはパッケージとその依存関係をダウンロードしてインストールします。 進捗状況は[出力]ウィンドウで監視できます。 インストールが完了すると、C#のコードでIronPDFを使用し始めることができます。

IronPDFが正常にインストールされたので、プロジェクトで使用を開始できます。 必要な"using"ステートメントをコードファイルに含め、IronPDFの機能を使用してPDFを操作し始めましょう。
using IronPdf;Imports IronPdfC#プロジェクトでのPDFドキュメントの操作のためにIronPDFが提供する機能と機能にアクセスできます。 プロジェクトを保存し、ライブラリが正しく統合されていることを確認するためにビルドしてください。
iText PDFライブラリをインストールする
C#プロジェクトにiText PDFライブラリをインストールするには、次の手順に従ってください:
- あなたの好みの統合開発環境(IDE)、例えばVisual Studioで、iTextライブラリを使用したいC#プロジェクトを開きます。
- [ツール] > [NuGetパッケージマネージャー] > [パッケージマネージャーコンソール]へ進みます。
- パッケージマネージャーコンソールで次のコマンドを実行します:
このコマンドは、NuGet(Visual Studio用のパッケージマネージャー)に対し、iTextパッケージとその依存関係をダウンロードしてプロジェクトにインストールするよう指示します。
NuGetはiTextパッケージと必要な依存関係をダウンロードしインストールします。 インストールの進捗状況をパッケージマネージャーコンソールで監視できます。

インストールが完了すると、iTextパッケージが正常にインストールされたことを示す確認メッセージがPackage Manager Consoleに表示されます。 iTextが問題なくインストールされたことで、プロジェクトで使用し始めることができます。 必要なusingステートメントをコードファイルに含め、iTextの機能を使って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");
}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上記のコードは、指定したベースパス("D:\PDFFiles")にある二つのPDFファイル("PdfFile_1.pdf"と"PdfFile_2.pdf")をマージするためにIronPDFライブラリを使用します。 それはPdfDocument.Mergeを使って単一のPDFにマージし、マージされたPDFを同じ基本パスに"mergePDFbyIronPDF.pdf"として保存します。
次に、この例で使用したサンプルのPDFです:

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

iTextを使用して複数のPDFファイルをマージする
iTextには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();
}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上記のiTextを使用したコードは、指定された基本パス("D:\PDFFiles")から2つのPDFファイル("PdfFile_1.pdf"と"PdfFile_2.pdf")を単一のPDF("mergePdf.pdf")にマージします。これを実現するために、各入力PDFを開き、その内容を出力ドキュメントに追加し、その後ドキュメントを閉じます。 上記のコードは、複数のPDFを1つのPDFにマージします。
次のように二つの入力ファイルを使用しました:

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

結論
iTextと比較すると、IronPDFがC#アプリケーションでPDFドキュメントをマージするのに優れた選択肢として浮かび上がります。 両方のライブラリが可能ですが、IronPDFは、よりユーザーフレンドリーなインターフェース、HTMLからPDFへの変換などの最新機能、明確なライセンスオプション、NuGetを通じた簡単な統合、そして積極的な開発を提供し、マージプロセスを簡素化し、開発時間を短縮し、PDF関連のタスクにより信頼性の高いソリューションを保証します。 その使いやすいインターフェース、堅牢な機能セット、継続的な開発により、IronPDFはC#でのPDFマージにおいて優れたSol解です。
[[i: (iTextはその所有者の登録商標です。 このサイトは、iTextと提携しておらず、承認されてもおらず、後援されてもいません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。)]]

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


