从Word文档中提取标题文本

我试图text从MS Word文档(.docx文件)的标题(任何级别)中提取。目前,我正在尝试使用python-

docx进行解决,但是不幸的是,在阅读它之后,我仍然无法弄清它是否可行(也许我弄错了)。

我尝试在线查找解决方案,但没有发现与我的任务相关的任何内容。如果有人可以在这里指导我,那就太好了。

回答:

根本的挑战是确定标题段落。对于读者而言,没有什么能阻止作者将“常规”段落格式化为看起来(并充当)标题的方式。

但是,对于作者来说,可靠地使用样式创建标题并不罕见,因为这样做可以将这些标题自动编译到目录中。

在这种情况下,您可以遍历段落,然后选择标题样式之一的段落。

def iter_headings(paragraphs):

for paragraph in paragraphs:

if paragraph.style.name.startswith('Heading'):

yield paragraph

for heading in iter_headings(document.paragraphs):

print heading.text

如果标题级别保留默认值(例如“标题1”,“标题2”等),则可以从样式的完整名称中进行解析。

如果作者重命名了标题样式,则可能需要对此进行调整。

有更复杂的方法更可靠(就样式名称而言是独立的),但是这些方法不支持API,因此您需要深入研究内部代码并直接与我期望的某些样式XML进行交互。

以上是 从Word文档中提取标题文本 的全部内容, 来源链接: utcz.com/qa/398273.html

回到顶部