使用 iTextSharp 在 .NET Core 中进行 PDF 管理之合并 PDF

介绍

在当今的数字时代,以编程方式管理 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 管理能力并简化应用程序的工作流程。

相关推荐
芯联智造11 小时前
【stm32协议外设篇】- SU03T 智能语音模块
c语言·开发语言·stm32·单片机·嵌入式硬件
川石课堂软件测试11 小时前
Python | 高阶函数基本应用及Decorator装饰器
android·开发语言·数据库·python·功能测试·mysql·单元测试
lqqjuly11 小时前
Matlab2025a实现双目相机标定~业余版
开发语言·matlab·相机标定·双目相机
Brianna Home11 小时前
现代C++:从性能泥潭到AI基石
开发语言·c++·算法
_深巷的猫11 小时前
python爬虫自动库DrissionPage保存网页快照mhtml/pdf/全局截图/打印机另存pdf
pdf
2301_7965125211 小时前
Rust编程学习 - 自动解引用的用处,如何进行“解引用”(Deref) 是“取引用”(Ref) 的反操作
开发语言·学习·rust
qq192572302711 小时前
c++特性
开发语言·c++·算法
weixin_3077791311 小时前
AWS Elastic Beanstalk 实现 Java 应用高可用部署指南
java·开发语言·云计算·aws·web app
nvd1112 小时前
asyncio.run() vs asyncio.gather():启动器与聚合器, 为何Jupyter notebook里能直接使用await?
开发语言·python·jupyter
文人sec12 小时前
使用python-pandas-openpyxl编写运营查询小工具
开发语言·python·pandas