C# 查找PDF页面指定区域中的文本并替换和高亮

 时间:2026-02-14 03:33:18

1、可通过E-iceblue中文官网下载6.12.20版本的Spire.PDF for .NET hotfix(注:hotfix版本不用安装即可使用,pack版本需要安装到本地),下载后,解压到指定路径,完成解压后,将文件夹Bin下的Spire.Pdf.dll文件添加引用到VS程序(添加引用结果如下图):

C# 查找PDF页面指定区域中的文本并替换和高亮

1、using Spire.Pdf;

using Spire.Pdf.General.Find;

using Spire.Pdf.Graphics;

using System.Drawing;

namespace FindAndHighlightText2

{

    class Program

    {

        static void Main(string[] args)

        {

            //加载PDF测试文档

            PdfDocument pdf = new PdfDocument();

            pdf.LoadFromFile("咖啡豆.pdf", FileFormat.PDF);

            //指定需要查找的页面区域范围

            RectangleF pagerec = new RectangleF(0, 0, 500, 700);

            //在第一页的指定区域查找指定文本

            PdfTextFindCollection findCollection1 = pdf.Pages[0].FindText(pagerec, "咖啡豆", TextFindParameter.WholeWord);

            PdfTextFindCollection findCollection2 = pdf.Pages[0].FindText(pagerec, "洪都拉斯", TextFindParameter.WholeWord);        

            //替换查找结果

            PdfBrush brush = new PdfSolidBrush(Color.Red);

            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 12f, FontStyle.Regular));

            RectangleF textrec;

            foreach (PdfTextFind find1 in findCollection1.Finds)

            {

                textrec = find1.Bounds;

                pdf.Pages[0].Canvas.DrawRectangle(PdfBrushes.White, textrec);

                pdf.Pages[0].Canvas.DrawString("NewText", font, brush, textrec);

            }

            //高亮查找结果

            foreach (PdfTextFind find2 in findCollection2.Finds)

            {

                find2.ApplyHighLight(Color.Yellow);

            }

            //保存文档

            pdf.SaveToFile("result.pdf", FileFormat.PDF);

            System.Diagnostics.Process.Start("result.pdf");

        }

    }

}

2、查找替换及高亮结果:

C# 查找PDF页面指定区域中的文本并替换和高亮

1、Imports Spire.Pdf

Imports Spire.Pdf.General.Find

Imports Spire.Pdf.Graphics

Imports System.Drawing

Namespace FindAndHighlightText2

    Class Program

        Private Shared Sub Main(args As String())

            '加载PDF测试文档

            Dim pdf As New PdfDocument()

            pdf.LoadFromFile("咖啡豆.pdf", FileFormat.PDF)

            '指定需要查找的页面区域范围

            Dim pagerec As New RectangleF(0, 0, 500, 700)

            '在第一页的指定区域查找指定文本

            Dim findCollection1 As PdfTextFindCollection = pdf.Pages(0).FindText(pagerec, "咖啡豆", TextFindParameter.WholeWord)

            Dim findCollection2 As PdfTextFindCollection = pdf.Pages(0).FindText(pagerec, "洪都拉斯", TextFindParameter.WholeWord)

            '替换查找结果

            Dim brush As PdfBrush = New PdfSolidBrush(Color.Red)

            Dim font As New PdfTrueTypeFont(New Font("Arial", 12F, FontStyle.Regular))

            Dim textrec As RectangleF

            For Each find1 As PdfTextFind In findCollection1.Finds

                textrec = find1.Bounds

                pdf.Pages(0).Canvas.DrawRectangle(PdfBrushes.White, textrec)

                pdf.Pages(0).Canvas.DrawString("NewText", font, brush, textrec)

            Next

            '高亮查找结果

            For Each find2 As PdfTextFind In findCollection2.Finds

                find2.ApplyHighLight(Color.Yellow)

            Next

            '保存文档

            pdf.SaveToFile("result.pdf", FileFormat.PDF)

            System.Diagnostics.Process.Start("result.pdf")

        End Sub

    End Class

End Namespace

  • [attribute=value]选取带有指定属性和值的元素
  • 辣椒炒鸡蛋的制作方法
  • 菜花虾仁的做法
  • VBAI2015自动检测视觉生成器软件安装环境
  • 香味浓郁的制心油条
  • 热门搜索
    一丝不苟是什么意思 和平精英是什么游戏 cross是什么意思 小孩子磨牙是什么原因 什么是期房 苦心孤诣是什么意思 独立院校是什么意思 乌鸡白凤丸什么时候吃 克山病是什么病 rt是什么意思