在 PDF 文档中,通过使用鲜明的颜色来突出显示重要文本是一种常用内容导航和强调方法。特别是在较长的 PDF 文档中,强调关键信息有助于读者快速理解文档内容,从而提高阅读效率。而利用 Python 程序可以轻松快捷地执行突出显示文本的操作,提升 PDF 文档创建及修改的效率。本文将介绍如何使用 Spire.PDF for Python 通过 Python 程序在 PDF 文档中查找并突出显示文本。
安装 Spire.PDF for Python
本教程需要用到 Spire.PDF for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF
如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.PDF for Python
用 Python 查找并突出显示 PDF 中的指定文本
利用 Spire.PDF for Python,用户可以使用 PdfTextFinder 类来定位页面内的特定文本。并通过使用 PdfTextFinder.Options.Parameter 属性设置搜索选项,如 WholeWord(全词匹配)。一旦匹配到文本,便可以应用高亮效果以在视觉上区分文本。以下是在 PD F中查找并高亮显示文本的步骤:
- 创建 PdfDocument 对象。
- 使用 PdfDocument.LoadFromFile() 加载 PDF 文件。
- 通过 PdfDocument.Pages.get_Item() 遍历 PDF 文档页面,并基于页面创建 PdfTextFinder 对象。
- 使用 PdfTextFinder.Options.Parameter 属性设置搜索选项。
- 使用 PdfTextFinder.Find() 方法找到所有被搜索到的文本。
- 遍历查找结果,并使用 PdfTextFragment.Highlight() 方法高亮文本。
- 保存 PDF 文件。
- Python
from spire.pdf import *
from spire.pdf.common import*
# 创建PdfDocument类对象并加载PDF文档
pdf = PdfDocument()
pdf.LoadFromFile("示例.pdf")
# 循环遍历PDF文档中的页面
for i in range(pdf.Pages.Count):
page = pdf.Pages.get_Item(i)
# 为当前页面创建一个PdfTextFinder对象
pdfTextFinder = PdfTextFinder(page)
# 设置查找选项
pdfTextFinder.Options.Parameter = TextFindParameter.WholeWord
# 查找页面上特定文本的所有出现位置
result = pdfTextFinder.Find("云服务器")
# 突出显示所有查找到的文本
for find in result:
find.HighLight(Color.get_Cyan())
# 保存文档
pdf.SaveToFile("output/查找并突出显示.pdf")
# 对象释放
pdf.Close()
查找并突出显示 PDF 页面指定区域的特定文本
为了在文档中突出显示特定部分的关键信息,可以在 PDF 文档页面的矩形区域内查找并高亮指定的文本。该矩形区域可以通过 PdfTextFinder.Options.Area 来定义。具体操作步骤如下:
- 创建 PdfDocument 对象。
- 使用 PdfDocument.LoadFromFile() 加载 PDF 文件。
- 通过 PdfDocument.Pages.get_Item() 获取 PDF 文档特定页面,并基于页面创建 PdfTextFinder 对象。
- 指定矩形区域范围,并使用 PdfTextFinder.Options.Area 属性设置到搜索选项。
- 使用 PdfTextFinder.Find() 方法找到所有被搜索到的文本。
- 遍历查找结果,并使用 PdfTextFragment.Highlight() 方法高亮文本。
- 保存 PDF 文件。
- Python
from spire.pdf import *
from spire.pdf.common import*
# 创建PdfDocument类对象并加载PDF文档
pdf = PdfDocument()
pdf.LoadFromFile("示例.pdf")
# 获取第一页
page = pdf.Pages.get_Item(0)
# 定义一个矩形区域
rctg = RectangleF(0.0, 0.0, page.ActualSize.Width, 300.0)
# 为当前页面创建一个PdfTextFinder对象
pdfTextFinder = PdfTextFinder(page)
# 设置查找选项并应用指定区域
pdfTextFinder.Options.Parameter = TextFindParameter.WholeWord
pdfTextFinder.Options.Area = rctg
# 查找文本
result = pdfTextFinder.Find("云服务器")
# 突出显示所有查找到的文本
for find in result:
find.HighLight(Color.get_Green())
# 保存文档
pdf.SaveToFile("output/查找并突出显示.pdf")
# 对象释放
pdf.Close()
通过正则表达式查找并突出显示 PDF 中的指定文本
在实际应用中,需要使用正则表达式在文档中灵活地匹配相应文本。Spire.PDF for Python 同样也支持使用正则表达式来匹配,只需要将 TextFindParameter 设置为 Regex 类型。以下是使用正则表达式在 PDF 中匹配查找并高亮文本的步骤。具体步骤如下:
- 创建 PdfDocument 对象。
- 使用 PdfDocument.LoadFromFile() 加载 PDF 文件。
- 通过 PdfDocument.Pages.get_Item() 获取 PDF 文档特定页面,并基于页面创建 PdfTextFinder 对象。
- 设置 TextFindParameter.Regex 属性选项。
- 使用 PdfTextFinder.Find() 方法找到所有被搜索到的文本。
- 遍历查找结果,并使用 PdfTextFragment.Highlight() 方法高亮文本。
- 保存 PDF 文件。
- Python
from spire.pdf import *
from spire.pdf.common import*
# 创建PdfDocument类对象并加载PDF文档
pdf = PdfDocument()
pdf.LoadFromFile("示例.pdf")
# 获取第一页
page = pdf.Pages.get_Item(0)
# 为当前页面创建一个PdfTextFinder对象
pdfTextFinder = PdfTextFinder(page)
# 设置查找选项
pdfTextFinder.Options.Parameter = TextFindParameter.Regex
# 指定匹配数字以及百分数的正则表达式
pattern = r'\d+(?:\.\d+)?%?'
# 使用指定的正则表达式在页面上查找匹配的文本
result = pdfTextFinder.Find(pattern)
# 突出显示所有查找到的文本
for find in result:
find.HighLight(Color.get_DeepPink())
# 保存文档
pdf.SaveToFile("output/查找并突出显示.pdf")
# 对象释放
pdf.Close()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。