对PDF文档中的内容进行查找时,可针对文档全篇内容获取查找结果,也可在PDF指定页面中的特定范围内(矩形框区域)进行查找,对获取的查找结果可执行文本高亮或替换等操作,本文将对此作相关介绍(附VB.NET代码,有需要可参考)。
关于工具使用
工具:需下载Spire.PDF for .NET Pack hotfix 6.12.20版本(注:hotfixt版本无需安装,若下载的是Pack版本则需要安装至本地路径,可在安装后,查看演示程序及API)。
引用:下载并解压到本地路径,将Bin文件夹下的Spire.Pdf.dll文件添加引用至VS程序。
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"); } } }
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
相关推荐
1.创建PDF,可以插入图片,文字 2.替换指定pdf文件中的文字,计算文字所在位置 3.在指定位置插入图片
C#生成PDF 读取PDF文本内容 获取PDF内图片(亲测可用)
C# 文本内容批量替换C# 文本内容批量替换
C# winform 文本编辑器中高亮显示关键字 ,FastColoredTextBox
C#生成PDF 读取PDF文本内容 获取PDF内图片
C# 查找文本C# 查找文本C# 查找文本C# 查找文本C# 查找文本C# 查找文本C# 查找文本C# 查找文本C# 查找文本
C#生成PDF 读取PDF文本内容 获取PDF内图片--完整版)
C#生成PDF 读取PDF文本内容 获取PDF内图片201902
利用spire.pdf插件读取pdf文本内容
C#222查找和替换,源代码
VS2010下c#操作word进行批量查找和替换。选择路径后程序自动进行批量查找和替换,去持子目录搜索、大小写匹配、整字匹配、通配符匹配。
一段C#操作word,如何进行查找和替换
很多网友在利用RichTextBox控件作文本编辑器时,都反映不知道怎么做查找和替换,我在这里给实现一下,共享给大家吧 附件便是一个仅仅实现了查找和替换功能的文本编辑器,该功能已经完善了
C#实现 查找与替换 对新手很有帮助的源代码!
C#生成PDF 读取PDF文本内容 获取PDF内图片2019
内容查找,根据指定的文件夹查找包含指定内容的文件(C#源码)
演示了如何使用C#、iTextSharp在PDF文档上加盖印章和添加文本,实现在公文流转中的一些功能。
C#生成PDF 读取PDF文本内容 获取PDF内图片__0525).rar