Python - pptx - 文本阅读

Python - pptx - Text Reads

从 table 和文本框架导入数据的代码:

 pres = Presentation(ppt_file)

    for slide in pres.slides:
        for shape in slide.shapes:
            if(shape.has_text_frame):
                for paragraph in shape.text_frame.paragraphs:
                    for run in paragraph.runs:
                        print run.text    

我有这样一张幻灯片:

输出为: 运行 文本

正在从左框架或大框读取文本,而不是从右两个框架读取文本。

报告 None 作为其形状类型的形状是组形状。您可以通过打印出他们的 XML:

来确认这一点
print(shape._element)  # should give something like 'CT_GroupShape'
print(shape._element.xml)  # should show XML that starts with `<p:grpSp>`

python-pptx 尚不支持群组形状。如果您可以在 PowerPoint 中取消它们的分组,则可以访问它们的文本。

更新: 组形状没有文字。但是,您可以使用 group_shape.shapes 遍历组内的形状并访问它们的文本。请注意,组可以包含其他组。