跳過到頁腳內容
產品比較

如何使用iTextSharp合併PDF文件

合併 PDF 文件是各種軟體應用程式的共同需求,例如文件管理系統、報表產生工具等。 在 .NET 的生態系統中,開發人員有數個函式庫可用來處理 PDF 檔案。 iTextSharp 和 IronPDF 是在 C# 應用程式中處理 PDF 的兩個熱門選擇。 在本文中,我們將探討如何使用 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 for .NET Webpage 是一個 .NET 函式庫,可讓開發人員在 C# 和 .NET 應用程式中建立、修改 PDF 文件,並與 PDF 文件互動。 它簡化了 PDF 相關任務,提供的功能包括從頭產生 PDF、HTML 至 PDF 轉換、PDF 操作(包括新增、移除和修改內容)、互動表單處理、PDF 合併和分割、加密以及跨平台相容性,使其成為需要管理和產生 PDF 文件的廣泛應用程式的重要工具。

iTextSharp。

iTextSharp已被 iText 7 取代,因為它已達到生命週期結束 (EOL),目前只有安全修復。 強烈建議使用 iText 7 或考慮將現有的轉換為新專案。 iText 7 提供了顯著的改進,包括 HTML 至 PDF 轉換、PDF 編輯、SVG 支援、更好的語言支援、除錯工具、資料萃取以及更多的模組化功能。 它簡化了 PDF 文件的處理,並提供 AGPL 和商業授權。

安裝 IronPdf Library

若要在您的 Visual Studio 專案中安裝 IronPDF NuGet 套件,您可以遵循下列步驟:

1.首先在 Visual Studio 中開啟您要使用 IronPDF 函式庫的專案。 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

現在您可以使用 IronPDF 提供的特性和功能,在 C# 專案中處理 PDF 文件。 請記得儲存您的專案並將其建立,以確保能正確整合函式庫。

安裝 iTextSharp PDF 函式庫

若要在 C# 專案中安裝 iTextSharp PDF 函式庫,請遵循下列步驟:

1.在您偏好的整合開發環境 (IDE) 中,例如 Visual Studio,開啟您要使用 iTextSharp 函式庫的 C# 專案。 2.前往 Tools > NuGet Package Manager > Package Manager Console。 3.在套件管理員控制台,執行下列指令:

Install-Package iTextSharp

此指令會告訴 NuGet (Visual Studio 的套件管理員) 下載 iTextSharp 套件及其相依套件,並將其安裝到您的專案中。

NuGet 將下載並安裝 iTextSharp 套件和任何所需的相依性。 您可以在 Package Manager Console 中監控安裝進度。

** 如何使用 iTextSharp 合併 PDF 檔案**:圖 2 - 在 Visual Studio 的內建終端機中顯示完成的安裝

安裝完成後,您會在套件管理員控制台看到一則確認訊息,顯示 iTextSharp 套件已成功安裝。 成功安裝 iTextSharp 之後,您就可以開始在專案中使用它了。 在您的程式碼檔案中包含必要的 using 陳述,並開始使用 iTextSharp 的功能來處理 PDF。

使用 IronPDF 將 PDF 合併為單一 PDF 文件

IronPDF 提供了一種直接的方法來 將多個 PDF 檔案合併為單一 PDF。 IronPDF 在合併 PDF 文件時具有極大的靈活性。 以下範例程式碼示範如何將 PDF 合併為單一 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

上述程式碼使用 IronPDF 函式庫合併位於指定基本路徑 ("D:\PDFFiles")的兩個 PDF 檔案 ("PdfFile_1.pdf "和 "PdfFile_2.pdf")。 它會建立一個 PdfDocument 物件的清單,將輸入的 PDF 加入清單中,使用 PdfDocument.Merge 將它們合併為單一 PDF,並將合併後的 PDF 儲存為相同基本路徑中的 "mergePDFbyIronPDF.pdf"。

以下是本範例中使用的 PDF 樣本:

! 如何使用 iTextSharp 合併 PDF 檔案:圖 3 - 一個簡單的 PDF 檔案,標題為 "A Simple PDF File",下方有一些正文文字,以及單頁的 PDF 文章。

以下是合併後的 PDF 檔案:

! 如何使用 iTextSharp 合併 PDF 檔案:圖 4 - 合併後的 PDF,簡單的 PDF 在前,文章在後。

使用 iTextSharp 合併多個 PDF 檔案

iTextSharp 並未提供合併 PDF 檔案的直接方法。 然而,我們可以透過開啟每個輸入的 PDF,並將其內容加入輸出文件來達成。 以下範例程式碼會將 PDF 檔案合併為單一 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 "的 PDF。它通過打開每個輸入的 PDF,將其內容添加到輸出文檔,然後關閉文檔來實現這一目標。 上述程式碼會將多個 PDF 合併為一個 PDF。

我們使用了以下兩個輸入檔案:

! 如何使用 iTextSharp 合併 PDF 檔案:圖 5 - 與先前相同的輸入 PDF。

我們的程式碼所建立的新檔案如下:

! 如何使用 iTextSharp 合併 PDF 檔案:圖 6 - 合併後的 PDF,簡單的 PDF 在前,文章在後。

結論

與 iTextSharp 的比較中,IronPDF 成為在 C# 應用程式中合併 PDF 文件的上佳選擇。 雖然這兩個函式庫都很有能力,但 IronPDF 提供了更友善的使用者介面、現代化的功能(例如 HTML 到 PDF 的轉換)、明確的授權選項、透過 NuGet 的直接整合,以及積極的開發,共同簡化了合併流程、縮短了開發時間,並確保能為 PDF 相關任務提供更可靠的解決方案。 其友好的用戶界面、強大的功能集以及持續的開發使 IronPDF 成為用 C# 合併 PDF 的優秀解決方案。

請注意iText 7 是其各自擁有者的註冊商標。 本網站與 iText 7 無任何關聯、背書或贊助。所有產品名稱、標誌和品牌均為其各自所有者的財產。 比較資料僅供參考,並反映撰寫時的公開資訊。

常見問題解答

如何在 C# 中合併 PDF 檔案?

您可以使用 IronPDF 在 C# 中合併 PDF 檔案,方法是建立 PdfDocument 物件清單,並利用 PdfDocument.Merge 方法將它們合併為單一 PDF 文件。

使用 IronPDF 進行 PDF 操作有哪些優點?

IronPDF 提供友善的使用者介面、現代化功能,例如 HTML 至 PDF 轉換、互動表單以及跨平台相容性,使其成為 C# 應用程式中操作 PDF 的有效工具。

如何在 Visual Studio 中為 C# 專案安裝 PDF 函式庫?

若要在 Visual Studio C# 專案中安裝 IronPDF,請使用 NuGet 套件管理員,在套件管理員控制台執行「Install-Package IronPDF」指令。

iTextSharp 和 IronPDF 在合併 PDF 方面有哪些差異?

iTextSharp 需要手動從每個 PDF 文件中加入內容,而 IronPDF 則提供了更直接的解決方案,它有直接合併 PDF 的方法,可減少開發時間和複雜性。

開發人員為何要從 iTextSharp 轉換到 iText 7 或 IronPDF?

開發人員應該過渡,因為 iTextSharp 已經到了生命週期的尾聲,而 iText 7 則提供了改進的功能。然而,IronPDF 提供了更多現代化的功能和易用性,使其成為 PDF 操作的上佳選擇。

IronPDF 能處理的不只是合併 PDF 檔案嗎?

是的,IronPDF 支援廣泛的 PDF 操作,包括從頭生成 PDF、將 HTML 轉換為 PDF、修改內容、甚至還可以套用加密和處理表單。

是什麼讓 IronPDF 成為在 C# 中操作 PDF 的可靠選擇?

IronPDF 正積極開發,提供現代化的功能,並提供友善的使用者介面,簡化 PDF 的操作任務,是開發人員可靠且有效率的選擇。

與舊版程式庫相比,IronPDF 如何改善合併 PDF 的流程?

IronPDF 透過提供直接合併 PDF 檔案的方法、簡化與 C# 專案的整合,從而縮短整體開發時間,改善合併流程。

開發人員在選擇 C# 的 PDF 函式庫時,應該注意哪些注意事項?

開發人員在為 C# 專案選擇 PDF 函式庫時,應考慮易用性、功能集、授權選項、相容性和積極的開發支援等因素。IronPDF 在這些方面都表現優異,因此是您的首選。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。