【问题标题】:Python - pptx - Text ReadsPython - pptx - 文本读取
【发布时间】:2017-06-07 16:45:50
【问题描述】:

从表格和文本框中导入数据的代码:

 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    

我有一张这样的幻灯片:

输出是: 运行文本

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

【问题讨论】:

  • 这应该是两个问题。检查两个右边的框架不是组形状。
  • 还要检查 A 和 B 是实际文本,而不是图像的一部分。
  • @scanny:是的 A 和 B 是文本。图像放置在文本上方。合并这两个问题,因为我不想多余。
  • 这是两个不同的问题。你要我说哪一个?
  • @scanny 问题 2 请

标签: python python-pptx


【解决方案1】:

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 来遍历组内的形状并访问它们的文本。请注意,组可以包含其他组。

【讨论】:

  • 感谢您的澄清。可悲的是,我不得不依靠 OPENXML SDK 来提取 .NET 中的文本。
猜你喜欢
  • 2021-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-20
  • 1970-01-01
相关资源
最近更新 更多