產品比較

使用iTextSharp合併PDF文件的方法

Chipego
奇佩戈·卡林达
2023年9月12日
分享:

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

iTextSharp

iTextSharp 已被 iText 7 取代,因為它已到達生命週期結束(EOL),僅會進行安全修復。 強烈建議使用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]
$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 合併為一個 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
$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 文件:

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
$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 的卓越解決方案。

Chipego
奇佩戈·卡林达
軟體工程師
Chipego 擁有天生的傾聽技能,這幫助他理解客戶問題,並提供智能解決方案。他在獲得信息技術理學學士學位後,于 2023 年加入 Iron Software 團隊。IronPDF 和 IronOCR 是 Chipego 專注的兩個產品,但隨著他每天找到新的方法來支持客戶,他對所有產品的了解也在不斷增長。他喜歡在 Iron Software 的協作生活,公司內的團隊成員從各自不同的經歷中共同努力,創造出有效的創新解決方案。當 Chipego 離開辦公桌時,他常常享受讀好書或踢足球的樂趣。
< 上一頁
iTextsharp HTML 轉 PDF 與 CSS 樣式 C# 範例 對比 IronPDF
下一個 >
Adobe Reader SDK 與 IronPDF 在 C# 中的比較