向 word 文档添加书签是一项非常有用的功能,它允许用户标记文档中的特定位置,以便快速参考或导航。书签用作虚拟占位符,可以更轻松地查找和重新访问文档的重要部分,而无需滚动浏览冗长的页面。本文将介绍如何使用 spire.doc for python 在 python 中向 word 文档添加书签。
安装 spire.doc for python
本教程需要使用 spire.doc for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.doc
如果您不确定如何安装,请参考此教程:如何在 vs code 中安装 spire.doc for python
python 为 word 文档中的段落添加书签
spire.doc for python 提供了 bookmarkstart 来表示书签的开始,并提供了 bookmarkend 来表示书签的结束。若要为段落添加书签,请将 bookmarkstart 对象放在段落的开头,并在段落末尾追加 bookmarkend 对象。以下是详细步骤:
- 创建一个 document 对象。
- 使用 document.loadfromfile() 方法加载 word 文件。
- 通过 document.sections[index].paragraphs[index] 属性获取特定段落。
- 使用 paragraph.appendbookmarkstart() 方法创建一个 bookmarkstart,并使用 paragraph.items.insert() 方法将其插入段落的开头。
- 使用 paragraph.appendbookmarkend() 方法在段落末尾附加一个 bookmarkend。
- 使用 document.savetofile() 方法将文档保存到其他 word 文件。
- python
# 创建一个文档对象
doc = document()
# 从文件中加载文档内容
doc.loadfromfile('output/data/test.docx')
# 获取文档的第一个段落
paragraph = doc.sections[0].paragraphs[1]
# 在段落中添加一个书签开始标记
start = paragraph.appendbookmarkstart('mybookmark')
# 将书签开始标记插入到段落的开头
paragraph.items.insert(0, start)
# 在段落中添加一个书签结束标记
paragraph.appendbookmarkend('mybookmark')
# 将修改后的文档保存到文件中,格式为docx2019
doc.savetofile('output/addbookmarktoparagraph.docx', fileformat.docx2019)
python 为 word 文档中的所选文本添加书签
要为一段文本添加书签,您首先需要从文档中获取文本并获取其在其所有者段落中的位置。然后在它前面放置一个 bookmarkstart,在它之后放置一个 bookmarend。详细步骤如下:
- 创建一个 document 对象。
- 使用 document.loadfromfile() 方法加载 word 文件。
- 从文档中找到要标记的字符串。
- 获取其所有者段落及其在段落中的位置。
- 在文本之前插入 bookmarkstart,在文本后插入 bookmarkend。
- 使用 document.savetofile() 方法将文档保存到其他 word 文件。
- python
from spire.doc import *
from spire.doc.common import *
# 创建一个文档对象
doc = document()
# 从文件中加载文档内容
doc.loadfromfile('output/data/test.docx')
# 要查找的字符串
stringtofind = '成都冰蓝科技'
# 在文档中查找所有匹配的字符串
finds = doc.findallstring(stringtofind, false, true)
# 获取第一个匹配的字符串
specifictext = finds[0]
# 获取包含特定文本的段落
paragraph = specifictext.getasonerange().ownerparagraph
# 获取特定文本在段落中的索引位置
index = paragraph.childobjects.indexof(specifictext.getasonerange())
# 在段落中添加一个书签开始标记
start = paragraph.appendbookmarkstart("mybookmark")
# 将书签开始标记插入到特定文本之前
paragraph.childobjects.insert(index, start)
# 在段落中添加一个书签结束标记
end = paragraph.appendbookmarkend("mybookmark")
# 将书签结束标记插入到特定文本之后
paragraph.childobjects.insert(index 2, end)
# 将修改后的文档保存到文件中,格式为docx2019
doc.savetofile("output/addbookmarktoselectedtext.docx", fileformat.docx2019)
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。