python
主页 > 脚本 > python >

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

2024-09-02 | 佚名 | 点击:

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

pip install Spire.Doc

Python 在指定段落添加书签

Python代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

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在指定文本处插入书

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

Python代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

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中的书签

示例代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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()

原文链接:
相关文章
最新更新