问题描述
同标题
解决方案
因未在docx库找到直接识别word中目录及文本框中文本的方法,所以采用了一个“笨”方法,docx库可以把word文档解析成xml格式,以解析xml的方式查找目录及文本框中文本,具体做法:
迭代出文档的所有element,其中目录的tag为“std”,找到它后提出他的所有文本即为目录文本;文本框的tag 为“textbox”,找到它后还要继续下钻寻找tag为 'r’的element,提取其文本则为文本框中文本。
# 提取word目录
file = docx.Document(file_path)
children = file.element.body.iter()
child_iters = []
for child in children:
# 通过类型判断目录
if child.tag.endswith('main}sdt'):
for ci in child.iter():
if ci.text and ci.text.strip():
child_iters