插件窝 干货文章 通过Python实现在Word中添加和删除书签的操作

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

书签 Paragraph code 指定 751    来源:    2024-10-28

本文中用到的方法需要用到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(null, start)
paragraph.AppendBookmarkEnd("所含信息")

# 保存文档
doc.SaveToFile("添加书签.docx", FileFormat.Docx2019)

Python在指定文本处插入书

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

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添加和删除书签内容请搜索插件窝以前的文章或继续浏览下面的相关文章希望大家以后多多支持插件窝!