跳至頁尾內容
產品對比

如何使用 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 Webpage是一個 .NET 程式庫,它使開發人員能夠在 C# 和 .NET 應用程式中建立、修改 PDF 文件並與之互動。 它簡化了與 PDF 相關的任務,提供了諸如從頭開始生成 PDF、HTML 到 PDF 的轉換、PDF 操作(包括添加、刪除和修改內容)、互動式表單處理、PDF 合併和拆分、加密以及跨平台兼容性等功能,使其成為需要 PDF 文件管理和生成的各種應用程式的寶貴工具。

iTextSharp

iTextSharp已停止維護(EOL),目前僅剩安全性修復工作,已被 iText 7 取代。 強烈建議使用 iText 7,或考慮將現有版本移轉到新專案。 iText 7 提供了顯著的改進,包括 HTML 轉 PDF、PDF 編輯、SVG 支援、更好的語言支援、偵錯工具、資料提取和更模組化的功能。 它簡化了 PDF 文件的處理,並提供 AGPL 和商業許可。

安裝 IronPDF 庫

若要在 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;
$vbLabelText   $csharpLabel

現在,您可以在 C# 專案中使用 IronPDF 提供的功能來處理 PDF 文件。 請記住保存您的項目並進行構建,以確保庫已正確集成。

安裝 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 合併成一個 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");
}
$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 文件,標題為"一個簡單的 PDF 文件",下面有一些正文,以及一篇單頁 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();
}
$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擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。