C#代码实现替换PDF文档中的文本

 更新时间:2026年05月30日 08:34:51   作者:2501_93070778  
人们经常需要替换 PDF 文档中的文本,本文将介绍如何使用 C# 替换 PDF 文档中的文本,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

人们经常需要替换 PDF 文档中的文本,原因多种多样。例如,修正错误或拼写问题、更新过时的信息、针对特定受众或用途调整内容,或满足法律和合规要求。通过替换 PDF 中的文本,可以提高内容的准确性,保持文档的一致性,并增强信息的实用性和可读性。

本文将介绍如何使用 C# 替换 PDF 文档中的文本。

安装 PDF 处理库

首先,需要在 .NET 项目中添加相关 PDF 处理库的 DLL 文件作为引用。您可以通过下载安装包获取 DLL 文件,也可以直接通过 NuGet 安装。

PM> Install-Package Spire.PDF

在 C# 中替换指定 PDF 页面中的文本

PDF 处理库提供了用于文本替换的方法,可将页面中所有匹配的目标文本替换为新的内容。以下是在 C# 中替换指定 PDF 页面文本的基本步骤:

  1. 创建 PdfDocument 对象。
  2. 加载指定路径的 PDF 文件。
  3. 从文档中获取指定页面。
  4. 创建文本替换选项对象,并通过相关属性设置替换方式。
  5. 创建文本替换器对象,并应用替换选项。
  6. 调用文本替换方法,将页面中所有目标文本替换为新文本。
  7. 将修改后的文档保存为新的 PDF 文件。

完整示例代码如下:

using Spire.Pdf;
using Spire.Pdf.Texts;

namespace ReplaceTextInPage
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建 PdfDocument 对象
            PdfDocument doc = new PdfDocument();

            // 加载 PDF 文件
            doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf");

            // 创建 PdfTextReplaceOptions 对象
            PdfTextReplaceOptions textReplaceOptions = new PdfTextReplaceOptions();

            // 设置文本替换选项
            textReplaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.IgnoreCase;
            textReplaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.WholeWord;
            textReplaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.AutofitWidth;

            // 获取指定页面
            PdfPageBase page = doc.Pages[0];

            // 基于页面创建 PdfTextReplacer 对象
            PdfTextReplacer textReplacer = new PdfTextReplacer(page);

            // 应用替换选项
            textReplacer.Options = textReplaceOptions;

            // 将所有目标文本替换为新文本
            textReplacer.ReplaceAllText(".NET Framework", "New Content");

            // 将文档保存为新的 PDF 文件
            doc.SaveToFile("ReplaceTextInPage.pdf");

            // 释放资源
            doc.Dispose();
        }
    }
}

在 C# 中替换整个 PDF 文档中的文本

如果需要将整个 PDF 文档中的目标文本全部替换为新内容,可以遍历文档中的每一页,并在每个页面上执行文本替换操作。

以下是在 C# 中替换整个 PDF 文档文本的基本步骤:

  1. 创建 PdfDocument 对象。
  2. 加载指定路径的 PDF 文件。
  3. 创建文本替换选项对象,并设置替换方式。
  4. 遍历文档中的所有页面。
  5. 基于当前页面创建文本替换器对象,并应用替换选项。
  6. 调用文本替换方法,将页面中的目标文本替换为新文本。
  7. 将修改后的文档保存为新的 PDF 文件。

完整示例代码如下:

using Spire.Pdf;
using Spire.Pdf.Texts;

namespace ReplaceInEntireDocument
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建 PdfDocument 对象
            PdfDocument doc = new PdfDocument();

            // 加载 PDF 文件
            doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf");

            // 创建 PdfTextReplaceOptions 对象
            PdfTextReplaceOptions textReplaceOptions = new PdfTextReplaceOptions();

            // 设置文本替换选项
            textReplaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.IgnoreCase;
            textReplaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.WholeWord;
            textReplaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.AutofitWidth;

            for (int i = 0; i < doc.Pages.Count; i++)
            {
                // 获取当前页面
                PdfPageBase page = doc.Pages[i];

                // 基于页面创建 PdfTextReplacer 对象
                PdfTextReplacer textReplacer = new PdfTextReplacer(page);

                // 应用替换选项
                textReplacer.Options = textReplaceOptions;

                // 将所有目标文本替换为新文本
                textReplacer.ReplaceAllText(".NET Framework", "New Content");
            }

            // 将文档保存为新的 PDF 文件
            doc.SaveToFile("ReplaceTextInDocument.pdf");

            // 释放资源
            doc.Dispose();
        }
    }
}

在 C# 中替换目标文本的首次出现内容

除了替换页面中的所有匹配文本外,还可以仅替换目标文本第一次出现的位置。这可以通过 PdfTextReplacer 类的 ReplaceText() 方法实现。

以下是在 C# 中替换目标文本首次出现内容的基本步骤:

  1. 创建 PdfDocument 对象。
  2. 加载指定路径的 PDF 文件。
  3. 从文档中获取指定页面。
  4. 创建文本替换选项对象,并设置替换方式。
  5. 创建文本替换器对象,并应用替换选项。
  6. 调用 ReplaceText() 方法,将页面中首次出现的目标文本替换为新文本。
  7. 将修改后的文档保存为新的 PDF 文件。

完整示例代码如下:

using Spire.Pdf;
using Spire.Pdf.Texts;

namespace ReplaceFirstOccurance
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建 PdfDocument 对象
            PdfDocument doc = new PdfDocument();

            // 加载 PDF 文件
            doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf");

            // 创建 PdfTextReplaceOptions 对象
            PdfTextReplaceOptions textReplaceOptions = new PdfTextReplaceOptions();

            // 设置文本替换选项
            textReplaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.IgnoreCase;
            textReplaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.WholeWord;
            textReplaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.AutofitWidth;

            // 获取指定页面
            PdfPageBase page = doc.Pages[1];

            // 基于页面创建 PdfTextReplacer 对象
            PdfTextReplacer textReplacer = new PdfTextReplacer(page);

            // 应用替换选项
            textReplacer.Options = textReplaceOptions;

            // 替换目标文本首次出现的内容
            textReplacer.ReplaceText(".NET Framework", "New Content");

            // 将文档保存为新的 PDF 文件
            doc.SaveToFile("ReplaceFirstOccurance.pdf");

            // 释放资源
            doc.Dispose();
        }
    }
}

在 C# 中基于正则表达式替换 PDF 文本

正则表达式是一种功能强大的文本匹配模式,可用于查找和处理符合特定规则的内容。借助 PDF 处理库,可以通过正则表达式在 PDF 中搜索指定文本模式,并将其替换为新的内容。

以下是在 PDF 中基于正则表达式替换文本的基本步骤:

  1. 创建 PdfDocument 对象。
  2. 加载指定路径的 PDF 文件。
  3. 从文档中获取指定页面。
  4. 创建 PdfTextReplaceOptions 对象。
  5. 将替换类型设置为 Regex,以启用正则表达式匹配。
  6. 创建文本替换器对象,并应用替换选项。
  7. 调用 ReplaceAllText() 方法,查找并替换符合指定正则表达式的文本。
  8. 将修改后的文档保存为新的 PDF 文件。

完整示例代码如下:

using Spire.Pdf;
using Spire.Pdf.Texts;

namespace ReplaceUsingRegularExpression
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建 PdfDocument 对象
            PdfDocument doc = new PdfDocument();

            // 加载 PDF 文件
            doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf");

            // 创建 PdfTextReplaceOptions 对象
            PdfTextReplaceOptions textReplaceOptions = new PdfTextReplaceOptions();

            // 将替换类型设置为 Regex
            textReplaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.Regex;

            // 获取指定页面
            PdfPageBase page = doc.Pages[1];

            // 基于页面创建 PdfTextReplacer 对象
            PdfTextReplacer textReplacer = new PdfTextReplacer(page);

            // 应用替换选项
            textReplacer.Options = textReplaceOptions;

            // 指定正则表达式
            string regularExpression = @"\bC\w*?R\b";

            // 将所有匹配正则表达式的内容替换为新文本
            textReplacer.ReplaceAllText(regularExpression, "NEW");

            // 将文档保存为新的 PDF 文件
            doc.SaveToFile("ReplaceWithRegularExpression.pdf");

            // 释放资源
            doc.Dispose();
        }
    }
}

总结

这篇文章主要介绍了在 C# 中使用正则表达式对 PDF 文本进行替换的方法。通过将替换模式设置为 Regex,可以在 PDF 页面中按规则匹配特定文本,而不仅仅是固定字符串,从而实现更灵活的文本处理。

在实现过程中,程序先加载 PDF 文档并获取指定页面,然后创建文本替换器并应用正则表达式规则,最后将匹配到的内容替换为新文本并保存文件。这种方式适用于批量修改具有特定格式的文本内容。

到此这篇关于C#代码实现替换PDF文档中的文本的文章就介绍到这了,更多相关C#替换PDF文本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C# 15 类型系统改进Union Types详解

    C# 15 类型系统改进Union Types详解

    本文介绍了C#15中引入的Union类型及其用法,Union类型允许将一个值限定为一组封闭类型中的某一种,并在针对Union值的switch表达式中获得穷尽性检查,文章通过示例展示了Union声明、转换、匹配和穷尽性检查等特性,感兴趣的朋友跟随小编一起看看吧
    2026-04-04
  • C#如何优雅的对WinForm窗体应用程序进行权限控制

    C#如何优雅的对WinForm窗体应用程序进行权限控制

    经常会出现winfrom页面需要加载权限树,下面这篇文章主要给大家介绍了关于C#如何优雅的对WinForm窗体应用程序进行权限控制的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • C#事件标准命名规则及说明(包括用作事件类型的委托命名)

    C#事件标准命名规则及说明(包括用作事件类型的委托命名)

    这篇文章主要介绍了C#事件标准命名规则及说明(包括用作事件类型的委托命名),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • C#采用FileSystemWatcher实现监视磁盘文件变更的方法

    C#采用FileSystemWatcher实现监视磁盘文件变更的方法

    这篇文章主要介绍了C#采用FileSystemWatcher实现监视磁盘文件变更的方法,详细分析了FileSystemWatcher的用法,并以此为基础实现监视磁盘文件变更,是非常实用的技巧,具有一定的借鉴价值,需要的朋友可以参考下
    2014-11-11
  • C#中的枚举和结构体用法解读

    C#中的枚举和结构体用法解读

    这篇文章主要介绍了C#中的枚举和结构体用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-08-08
  • C# WPF实现页面跳转的两种方法介绍

    C# WPF实现页面跳转的两种方法介绍

    在 C# WPF 中,页面跳转通常有两种主要方式:使用 NavigationWindow+Page或在 Window 中切换 UserControl,下面我们来看看具体实现方法吧
    2025-10-10
  • 详解C#中HashTable的用法

    详解C#中HashTable的用法

    在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值
    2016-02-02
  • c#入门之类型转换详解

    c#入门之类型转换详解

    这篇文章主要介绍了c#的类型转换详解,类型转换分两种形式:隐式转换、显示转换,下面是详细介绍
    2014-04-04
  • Visual Stodio2022中没有mysql.dll的解决办法

    Visual Stodio2022中没有mysql.dll的解决办法

    这篇文章介绍了Visual Stodio2022中没有mysql.dll的解决办法,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • C#使用Npoi实现生成Word文档

    C#使用Npoi实现生成Word文档

    这篇文章主要为大家详细介绍了C#如何使用Npoi实现生成Word文档,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下
    2024-03-03

最新评论