个人技术分享

介绍

在当今的数字时代,以编程方式管理 PDF 文档是许多应用程序的常见要求。无论是生成报告和发票还是合并多个 PDF 文件,拥有合适的工具都可以显著简化开发流程。在本文中,我们将探讨如何利用 iTextSharp(一种用于处理 C# 中 PDF 的流行库)在 .NET Core 应用程序中无缝合并 PDF 文件。

iTextSharp 是一个功能强大的库,用于在 C# 中创建和操作 PDF 文档。它提供了一套全面的功能,用于读取、写入和修改 PDF 文件。借助 iTextSharp,开发人员可以轻松生成动态 PDF 内容、添加注释、加密文档等等。

设置环境

首先,请确保您的开发机器上安装了 .NET Core。您可以使用您喜欢的 IDE 或命令行创建一个新的 .NET Core 项目。

接下来,通过在包管理器控制台中运行以下命令将 iTextSharp NuGet 包添加到您的项目中:

dotnet add package itext7

此命令将把最新版本的 iTextSharp 及其依赖项安装到您的项目中。

合并 PDF 文件

现在我们已经设置好了环境,让我们深入研究合并 PDF 文件。下面是一个简单的示例,演示如何使用 iTextSharp 合并两个 PDF 文件:

// 引入 iText.Kernel.Pdf 命名空间
using iText.Kernel.Pdf;
// 引入 iText.Kernel.Utils 命名空间
using iText.Kernel.Utils;

// 定义 Program 类
class Program
{
    // 定义 Main 方法,程序入口
    static void Main(string[] args)
    {
        // 要合并的 PDF 文件数组
        string[] filesToMerge = { "file1.pdf", "file2.pdf" };
        // 合并后的 PDF 文件名
        string mergedFile = "merged.pdf";

        // 使用 PdfWriter 创建写入流,生成合并后的 PDF 文件
        using (PdfWriter writer = new PdfWriter(mergedFile))
        {
            // 创建 PdfDocument 实例,用于合并后的 PDF 文件
            using (PdfDocument pdf = new PdfDocument(writer))
            {
                // 创建 PdfMerger 实例,执行 PDF 合并操作
                PdfMerger merger = new PdfMerger(pdf);

                // 遍历要合并的 PDF 文件数组
                foreach (string file in filesToMerge)
                {
                    // 使用 PdfReader 打开每个源 PDF 文件
                    PdfDocument sourcePdf = new PdfDocument(new PdfReader(file));
                    // 将源 PDF 文件的所有页面合并到目标 PDF 文件
                    merger.Merge(sourcePdf, 1, sourcePdf.GetNumberOfPages());
                    // 关闭源 PDF 文件
                    sourcePdf.Close();
                }
            } // 关闭 PdfDocument 实例
        } // 关闭 PdfWriter 实例

        // 输出合并成功消息
        Console.WriteLine("PDF files merged successfully!");
    }
}

在此示例中,我们创建一个 PdfMerger 对象并遍历要合并的 PDF 文件列表。我们打开每个源 PDF 文件,将其页面合并到目标 PDF 文档中,然后关闭源 PDF。最后,我们将合并的 PDF 文档保存到新文件中。

结论

iTextSharp 简化了 .NET Core 应用程序中的 PDF 操作,使开发人员能够轻松执行复杂的任务。在本文中,我们重点介绍了合并 PDF 文件,但 iTextSharp 提供了广泛的功能来处理 PDF 生成和修改的各个方面。尝试使用不同的功能来增强您的 PDF 管理能力并简化应用程序的工作流程。