微软 Word 中的文本查找和高亮功能使用户能够轻松地浏览和搜索特定的内容。通过高亮关键词或句子,用户可以快速定位文档中所需的信息。这项功能在处理大型文档时尤为实用,因为它不仅能节省时间,还能减少手动搜索所带来的不便,使用户能够专注于真正重要的内容。在本文中,我们将演示如何使用 Spire.Doc for Python 在 Python 中查找和高亮 Word 文档中的文本。
安装 Spire.Doc for Python
本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc
如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Doc for Python
Python 在 Word 中查找并高亮指定文本的所有实例
你可以使用 Spire.Doc for Python 提供的 Document.FindAllString() 方法在 Word 文档中查找指定文本的所有实例,然后循环遍历这些实例,并使用 TextRange.CharacterFormat.HighlightColor 属性为每个实例设置高亮颜色。具体步骤如下:
- 创建一个 Document 类的对象。
- 使用 Document.LoadFromFile() 方法加载一个 Word 文档。
- 使用 Document.FindAllString() 方法在文档中查找指定文本的所有实例。
- 遍历每个找到的实例,使用 TextSelection.GetAsOneRange() 方法获取其文本范围,然后使用 TextRange.CharacterFormat.HighlightColor 属性给文本范围设置高亮颜色。
- 使用 Document.SaveToFile() 方法保存结果文档。
- Python
from spire.doc import *
from spire.doc.common import *
# 指定输入和输出文档的路径
inputFile = "示例.docx"
outputFile = "高亮所有实例.docx"
# 创建一个Document类的对象
document = Document()
# 加载一个Word文档
document.LoadFromFile(inputFile)
# 查找特定文本的所有实例
textSelections = document.FindAllString("Spire.Doc", False, True)
# 遍历所有找到的实例
for selection in textSelections:
textRange = selection.GetAsOneRange()
# 为每个实例设置高亮颜色
textRange.CharacterFormat.HighlightColor = Color.get_Yellow()
# 保存结果文档
document.SaveToFile(outputFile, FileFormat.Docx2016)
document.Close()
Python 在 Word 中查找并高亮指定文本的第一个实例
你可以使用 Document.FindString() 方法来查找指定文本的第一个实例,并使用 TextRange.CharacterFormat.HighlightColor 属性为其设置高亮颜色。具体步骤如下:
- 创建一个 Document 类的对象。
- 使用 Document.LoadFromFile() 方法加载一个 Word 文档。
- 使用 Document.FindString() 方法查找指定文本的第一个实例。
- 使用 TextSelection.GetAsOneRange() 方法获取该实例的文本范围,并使用 TextRange.CharacterFormat.HighlightColor 属性给文本范围设置高亮颜色。
- 使用 Document.SaveToFile() 方法保存结果文档。
- Python
from spire.doc import *
from spire.doc.common import *
# 指定输入和输出文档的路径
inputFile = "示例.docx"
outputFile = "高亮第一个实例.docx"
# 创建Document类的对象
document = Document()
# 加载Word文档
document.LoadFromFile(inputFile)
# 查找指定文本的第一个实例
textSelection = document.FindString("Spire.Doc", False, True)
textRange = textSelection.GetAsOneRange()
# 给该实例设置高亮颜色
textRange.CharacterFormat.HighlightColor = Color.get_Yellow()
# 保存结果文档
document.SaveToFile(outputFile, FileFormat.Docx2016)
document.Close()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。