本文中用到的方法需要用到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中添加和删除书签的操作的文章就介绍到这了,更多相关Python添加和删除书签内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!