从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