如何使用 python-docx 在 word 中添加分节符

How to add a Sectional Break in word using python-docx

我一直在尝试使用 python-docx 在我的 word 文档中添加分节符。我基本上想在每个具有 style = "heading 1" 的段落之前添加一个分节符。我写了下面的代码。代码如下:

1)获取总段落数

2)找到style = "heading 1"的段落索引

3) 添加 运行 样式 = "heading 1"

段落之前的段落

4)在 运行

中添加分节符
z=len(doc.paragraphs)
for i in range(0,z):

    if doc.paragraphs[i].style.name == "Heading 1":
        run_new=doc.paragraphs[i-1].add_run()
        run_new.add_break(docx.enum.text.WD_BREAK.SECTION_NEXT_PAGE)

但是它给了我这个错误。

Traceback (most recent call last):
  File "D:/Pycharm Projects/pydocx/trial4.py", line 8, in <module>
    run_new.add_break(docx.enum.text.WD_BREAK.SECTION_NEXT_PAGE)
  File "D:\Pycharm Projects\pydocx\env\lib\site-packages\docx\text\run.py", line 42, in add_break
    }[break_type]
KeyError: 2

我应该如何添加分节符?

python-docx 目前 API 不支持在任意位置 插入 分节符。您只能在文档末尾添加 一个新部分,通常是在从上到下生成新文档的过程中。

>>> new_section = document.add_section(WD_SECTION.ODD_PAGE)
>>> new_section.start_type
ODD_PAGE (4)

这里有更多关于在文档页面上添加部分的内容:
https://python-docx.readthedocs.io/en/latest/user/sections.html