產品比較

使用iTextSharp合併PDF文件的方法

發佈 2023年9月12日
分享:

合併PDF文件是各種軟體應用中的常見需求,例如文件管理系統、報告生成工具等。在.NET生態系統中,開發人員有多個庫可以用來操作PDF文件。iTextSharp和IronPDF是用於C#應用程序的兩個常見選擇。在本文中,我們將探討如何使用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 是一個.NET庫,使開發人員能夠在其C#和.NET應用程式中創建、修改和操作PDF文件。它通過提供從頭生成PDF、HTML轉PDF轉換、PDF操作等功能來簡化與PDF相關的任務。 (包括新增、移除和修改內容)、互動表單處理、PDF 合併和拆分、加密以及跨平台相容性,使其成為需要 PDF 文件管理和生成的各種應用程式的寶貴工具。

iTextSharp

iTextSharp 已被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。導入必要的命名空間,並根據需要開始處理 PDF。

Using IronPDF;
Using IronPDF;
Dim IronPDF As [Using]
VB   C#

您現在可以使用IronPDF提供的功能,在您的C#專案中處理PDF文件。記得保存您的專案並進行編譯,以確保該庫已正確集成。

安裝 iTextSharp PDF 函式庫

在 C# 專案中安裝 iTextSharp PDF 函式庫,請依照以下步驟進行:

  1. 在您首選的整合式開發環境中,打開您要使用 iTextSharp 函式庫的 C# 專案。 (集成開發環境)例如 Visual Studio。

  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 合併為單一 PDF 文件:

static void Main(string [] args)
{
    string basePath = @"D:\PDFFiles\";
    string [] pdfFiles = { "PdfFile_1.pdf", "PdfFile_2.pdf" };
    List<PdfDocument> docList = new List<PdfDocument>();
    foreach (string filename in pdfFiles)
    {
        docList.Add(new PdfDocument(basePath + filename));
    }
    var mergedPDF = PdfDocument.Merge(docList);
    mergedPDF.SaveAs(basePath + "mergePDFbyIronPDF.pdf");
}
static void Main(string [] args)
{
    string basePath = @"D:\PDFFiles\";
    string [] pdfFiles = { "PdfFile_1.pdf", "PdfFile_2.pdf" };
    List<PdfDocument> docList = new List<PdfDocument>();
    foreach (string filename in pdfFiles)
    {
        docList.Add(new PdfDocument(basePath + filename));
    }
    var mergedPDF = PdfDocument.Merge(docList);
    mergedPDF.SaveAs(basePath + "mergePDFbyIronPDF.pdf");
}
Shared Sub Main(ByVal args() As String)
	Dim basePath As String = "D:\PDFFiles\"
	Dim pdfFiles() As String = { "PdfFile_1.pdf", "PdfFile_2.pdf" }
	Dim docList As New List(Of PdfDocument)()
	For Each filename As String In pdfFiles
		docList.Add(New PdfDocument(basePath & filename))
	Next filename
	Dim mergedPDF = PdfDocument.Merge(docList)
	mergedPDF.SaveAs(basePath & "mergePDFbyIronPDF.pdf")
End Sub
VB   C#

上述代碼使用 IronPDF 庫合併兩個 PDF 檔案 (「PdfFile_1.pdf」和「PdfFile_2.pdf」) 位於指定的基礎路徑 (D:\PDFFiles)它創建了一個 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 文件:

static void Main(string [] args)
{
    Document doc = new Document();
    string basePath = @"D:\PDFFiles\";
    PdfCopy copy = new PdfCopy(doc, new FileStream(basePath + "mergePdf.pdf", FileMode.Create));
    doc.Open();

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

    foreach (string filename in pdfFiles)
    {
        PdfReader reader = new PdfReader(basePath + filename);
        copy.AddDocument(reader);
        reader.Close();
    }

    doc.Close();
}
static void Main(string [] args)
{
    Document doc = new Document();
    string basePath = @"D:\PDFFiles\";
    PdfCopy copy = new PdfCopy(doc, new FileStream(basePath + "mergePdf.pdf", FileMode.Create));
    doc.Open();

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

    foreach (string filename in pdfFiles)
    {
        PdfReader reader = new PdfReader(basePath + filename);
        copy.AddDocument(reader);
        reader.Close();
    }

    doc.Close();
}
Shared Sub Main(ByVal args() As String)
	Dim doc As New Document()
	Dim basePath As String = "D:\PDFFiles\"
	Dim copy As New PdfCopy(doc, New FileStream(basePath & "mergePdf.pdf", FileMode.Create))
	doc.Open()

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

	For Each filename As String In pdfFiles
		Dim reader As New PdfReader(basePath & filename)
		copy.AddDocument(reader)
		reader.Close()
	Next filename

	doc.Close()
End Sub
VB   C#

上面的代碼使用iTextSharp合併了兩個PDF文件 (「PdfFile_1.pdf」和「PdfFile_2.pdf」) 自指定的基路径 (D:\PDFFiles) 合併成一個名為 "mergePdf.pdf" 的 PDF。它通過打開每個輸入的 PDF,將其內容添加到輸出文件,然後關閉這些文件來完成這一過程。以上代碼將多個 PDF 合併成一個 PDF。

我們使用了以下兩個輸入文件:

**如何使用 iTextSharp 合併 PDF 文件**:圖5 - 與之前相同的輸入 PDF。

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

**如何使用 iTextSharp 合併 PDF 文件**:圖 6 - 合併的 PDF,簡單的 PDF 位于前面,文章位于後面。

結論

相對於iTextSharpIronPDF 在合併 C# 應用程式中的 PDF 文件方面成為更優秀的選擇。雖然這兩個庫都能勝任工作,但 IronPDF 提供更友好的介面、現代化的功能如 HTML 轉換為 PDF、明確的授權選項、通過 NuGet 的簡單整合,以及積極開發,使合併過程更加簡化,縮短開發時間,並確保針對 PDF 相關任務的解決方案更為可靠。其使用者友好的介面、強大的功能集和持續的開發使 IronPDF 成為在 C# 中合併 PDF 的最佳解決方案。

< 上一頁
iTextsharp HTML 轉 PDF 與 CSS 樣式 C# 範例 對比 IronPDF
下一個 >
Adobe Reader SDK 與 IronPDF 在 C# 中的比較

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >