跳至页脚内容
产品比较

如何使用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 页面 是一个 .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. 首先在您要使用 IronPDF 库的项目中打开 Visual Studio。
  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)中使用 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 文件的过程:

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 文件,带有标题 一个简单的 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();
}
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 时成为优越的解决方案。

[{i:(iText 7 是其各自所有者的注册商标。 本网站与 iText 7 无关,未获得其认可或赞助。所有产品名称、徽标和品牌均为其各自所有者的财产。 比较仅供参考,反映的是撰写时的公开信息。]

常见问题解答

如何在C#中合并PDF文件?

您可以在C#中使用IronPDF合并PDF文件,通过创建PdfDocument对象列表并利用PdfDocument.Merge方法将它们合并为一个PDF文档。

使用IronPDF进行PDF操作的好处是什么?

IronPDF提供了用户友好的界面、现代功能(如HTML到PDF转换、交互式表单和跨平台兼容性),使其成为C#应用程序中进行PDF操作的高效工具。

如何在Visual Studio中为C#项目安装PDF库?

要在Visual Studio C#项目中安装IronPDF,可以在包管理器控制台中执行命令'Install-Package IronPDF'来使用NuGet包管理器。

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库时应考虑哪些因素?

开发者应考虑易用性、功能集、许可选项、兼容性和活跃的开发支持等因素,而IronPDF在这些方面表现出色,成为首选。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。