通过Python实现在Word中添加和删除书签的操作

通过Python实现在Word中添加和删除书签的操作

本文中用到的方法需要用到Spire.Doc for Python 库。可以直接通过pip进行安装:

pip install Spire.Doc

Python 在指定段落添加书签

加载Word文档;获取指定段落;创建 BookmarkStart 对象,然后通过Paragraph.Items.Insert()方法将其插入到段首;通过Paragraph.AppendBookmarkEnd()方法将BookmarkEnd对象添加到段落末尾。保存文档。

Python代码:

from spire.doc import *from spire.doc.common import *# 加载Word文档doc = Document()doc.LoadFromFile("溯源码.docx")# 获取第三个段落paragraph = doc.Sections[0].Paragraphs[2]# 在段落中添加书签start = paragraph.AppendBookmarkStart("所含信息")paragraph.Items.Insert(0, start)paragraph.AppendBookmarkEnd("所含信息")# 保存文档doc.SaveToFile("添加书签.docx", FileFormat.Docx2019)

Python在指定文本处插入书

    加载Word文档;在文档中查找指定文本,然后获取其在段落中所处位置的索引;创建BookmarkStart对象,然后通过Paragraph.ChildObjects.Insert()方法将其插入到指定文本前;创建BookmarkEnd对象,然后通过Paragraph.ChildObjects.Insert()方法将其插入到指定文本后;保存文档。

Python代码:

from spire.doc import *from spire.doc.common import *# 加载Word文档doc = Document()doc.LoadFromFile("溯源码.docx")# 在文档中查找指定文本finds = doc.FindAllString("有机认证", False, True)specificText = finds[0]# 获取文本所在段落paragraph = specificText.GetAsOneRange().OwnerParagraph# 获取文本在段落中所处位置的索引index = paragraph.ChildObjects.IndexOf(specificText.GetAsOneRange())# 在指定文本处插入书签start = paragraph.AppendBookmarkStart("认证")paragraph.ChildObjects.Insert(index, start)end = paragraph.AppendBookmarkEnd("认证")paragraph.ChildObjects.Insert(index + 2, end)# 保存文档doc.SaveToFile("添加书签到指定文本.docx", FileFormat.Docx2019)

Python删除Word中的书签

加载Word文档;通过Document.Bookmarks[]属性获取指定书签;通过Document.Bookmarks.Remove()方法删除指定书签(删除所有书签可以用Clear()方法);保存文档。

示例代码:

from spire.doc import *from spire.doc.common import * # 加载Word文档document = Document()document.LoadFromFile("添加书签.docx")# 获取指定书签bookmark = document.Bookmarks[0]# 删除指定书签document.Bookmarks.Remove(bookmark)#删除所有书签# document.Bookmarks.Clear()# 保存文档document.SaveToFile("删除书签.docx", FileFormat.Docx)document.Close()

通过Python实现在Word中添加和删除书签的操作