首页 > 解决方案 > 无法访问首页标题(python-docx)

问题描述

我最近编写了 python 代码来通过 python-docx 替换 MS office 中的一个单词。该代码在几周内运行良好。我可以使用下面的代码访问所有页面中的所有标题;

sections = doc.sections
for z in range (0, len(sections)):
    header_section = doc.sections[z]
    header = header_section.header
    header_text = header.paragraphs[0]

但是几天前我发现了一些问题。该代码似乎不适用于文档的第一页(但仍适用于后面的页面)。我试图弄清楚为什么代码只是停止工作,并且似乎与文档的第一页设置不同(我尝试创建一个没有不同第一页的新文档,它工作得很好)。任何人都可以请建议是什么导致我的代码停止工作,所以我可以尝试找到重写代码的方法(任何可能影响代码的 MS Office 更新?)。如果您知道如何使用不同的首页设置访问文档中的标题,请分享。预先感谢。

标签: pythonpython-docx

解决方案


一个部分最多可以有三个页眉(和三个页脚)。它们是首页页眉、奇数页页眉和默认页眉。大多数部分只有默认页眉,但如果定义了首页页眉,则它仅用于首页。这是因为一章的第一页通常没有标题,或者可能具有与章节其余部分或其他部分的“运行”标题不同的标题。

所以看看你是否定义了首页标题或奇数页标题;这可以解释你所看到的行为。有关更多信息,请参阅文档中的这些页面:
https ://python-docx.readthedocs.io/en/latest/api/section.html#id1
https://python-docx.readthedocs.io/en/latest/user/ hdrftr.html


推荐阅读