使用Python快速提取PPT中的文本内容的代码示例

 更新时间:2024年03月10日 09:33:43   作者:Eiceblue  
本文将介绍如何使用Python程序提取PowerPoint演示文稿中的文本内容,包括幻灯片中的主体文本、幻灯片备注文本以及幻灯片,文中通过代码示例给大家介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下

直接提取PPT中的文本内容可以方便我们进行进一步处理或分析,也可以直接用于其他文档的编撰。通过使用Python程序,我们可以快速批量提取PPT中的文本内容,从而实现高效的信息收集或对其中的数据进行分析。本文将介绍如何使用Python程序提取PowerPoint演示文稿中的文本内容,包括幻灯片中的主体文本、幻灯片备注文本以及幻灯片。

本文所使用的方法需要用到Spire.Presentation for Python,可从官网下载或通过PyPI安装:pip install Spire.Presentation

申请免费License

用Python提取PPT幻灯片文本

在PPT幻灯片中,文本内容放置在各种形状中,如文本框、图形。我们可以先获取幻灯片中的形状,再提取其中的文本,从而实现对幻灯片文本内容的提取。以下是操作步骤:

  • 创建 Presentation 对象并使用 Presentation.LoadFromFile() 方法载入PPT。
  • 遍历PPT中的幻灯片,然后遍历幻灯片中的形状。
  • 判断形状是否为 IAutoShape 实例。如果是,则通过 IAutoShape.TextFrame.Paragraphs 获取其中的段落,再通过 Paragraph.Text 属性获取段落中的文本。
  • 将文本写入到文本文件。

代码示例:

Python

从 spire.presentation 导入 *
从 spire.presentation.common 导入 *

# 创建 Presentation 类的对象
pres = Presentation()

# 加载 PowerPoint 演示文稿
pres.LoadFromFile("示例.pptx")

text = []
# 循环遍历每个幻灯片
对于 slide 在 pres.Slides 中:
    # 循环遍历每个形状
    对于 shape 在 slide.Shapes 中:
        # 检查形状是否为 IAutoShape 实例
        如果 isinstance(shape, IAutoShape):
            # 从形状中提取文本
            对于 paragraph 在 shape.TextFrame.Paragraphs 中:
                text.append(paragraph.Text)

# 将文本写入文本文件
f = open("output/幻灯片文本.txt", "w", encoding='utf-8')
对于 s 在 text 中:
    f.write(s + "\n")
f.close()
pres.Dispose()

提取结果:

Python提取PPT幻灯片文本

用Python提取PPT备注文本

备注是基于幻灯片添加的额外信息,可以对演讲者进行引导或提示,且不会展示给观众。幻灯片的备注储存在 NotesSlide 对象中,可以通过 ISlide.NotesSlide 属性获取。再获取到改对象之后,就可以使用 NotesSlide.NotesTextFrame.Text 属性提取其中的文本了。以下是操作步骤:

  • 创建 Presentation 对象并使用 Presentation.LoadFromFile() 方法载入PPT。
  • 遍历PPT中的幻灯片,通过 ISlide.NotesSlide 属性获取 NotesSlide 对象,再通过 NotesSlide.NotesTextFrame.Text 属性提取备注文本。
  • 将文本写入文本文件。

代码示例:

Python

从 spire.presentation 导入 *
从 spire.presentation.common 导入 *

# 创建 Presentation 类的对象
pres = Presentation()

# 加载 PowerPoint 演示文稿
pres.LoadFromFile("示例.pptx")

notes_list = []
# 循环遍历每个幻灯片
对于 slide 在 pres.Slides 中:
    # 获取备注幻灯片
    notes_slide = slide.NotesSlide
    # 获取备注内容
    notes = notes_slide.NotesTextFrame.Text
    notes_list.append(notes)

# 将备注写入文本文件
f = open("output/备注文本.txt", "w", encoding="utf-8")
对于 note 在 notes_list 中:
    f.write(note)
    f.write("\n")
f.close()
pres.Dispose()

提取结果:

Python提取PPT备注文本

用Python提取PPT批注文本

我们还可以通过 ISlide.Comments 属性获取PPT幻灯片中的批注,并通过 Comment.Text 属性获取批注中的文本。以下是操作步骤:

  • 创建 Presentation 对象并使用 Presentation.LoadFromFile() 方法载入PPT。
  • 遍历幻灯片,通过 ISlide.Comments 属性获取每张幻灯片中的批注的集合。
  • 遍历批注,通过 Comment.Text 属性提取批注中的文本。
  • 将文本写入到文本文件。

代码示例:

Python

from spire.presentation import *
from spire.presentation.common import *

# 创建 Presentation 类的对象
pres = Presentation()

# 加载一个 PowerPoint 演示文稿
pres.LoadFromFile("示例.pptx")

comments_list = []
# 遍历所有幻灯片
for slide in pres.Slides:
    # 获取幻灯片中的所有评论
    comments = slide.Comments
    # 遍历评论
    for comment in comments:
        # 获取评论文本
        comment_text = comment.Text
        comments_list.append(comment_text)

# 将评论写入文本文件
f = open("output/批注文本.txt", "w", encoding="utf-8")
for comment in comments_list:
    f.write(comment + "\n")
f.close()
pres.Dispose()

提取结果:

Python提取PPT批注文本

总结

本文介绍了如何使用Python提取幻灯片中的文本内容,包括提取幻灯片文本、备注文本以及批注文本。
文中使用的API还支持其他的很多PPT处理操作,请前往Spire.Presentation for Python教程了解更多PPT操作。

以上就是使用Python快速提取PPT中的文本内容的代码示例的详细内容,更多关于Python提取PPT文本内容的资料请关注脚本之家其它相关文章!

相关文章

  • python引用.dll文件并调用函数实例代码

    python引用.dll文件并调用函数实例代码

    Python作为一种强大且灵活的编程语言,被广泛用于开发和集成各种软件和库,然而有时候需要调用DLL(动态链接库)文件,这篇文章主要介绍了python引用.dll文件并调用函数的相关资料,需要的朋友可以参考下
    2025-09-09
  • Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境

    Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境

    这篇文章主要介绍了Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境的教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Python通过zookeeper实现分布式服务代码解析

    Python通过zookeeper实现分布式服务代码解析

    这篇文章主要介绍了Python通过zookeeper实现分布式服务代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • python批量修改xml文件中的信息

    python批量修改xml文件中的信息

    大家好,本篇文章主要讲的是python批量修改xml文件中的信息,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下的相关资料
    2022-01-01
  • pandas实现数据合并的示例代码

    pandas实现数据合并的示例代码

    本文主要介绍了pandas实现数据合并的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • django中间键重定向实例方法

    django中间键重定向实例方法

    在本篇文章里小编给各位分享的是关于django中间键重定向实例方法以及相关代码,需要的朋友们学习下吧。
    2019-11-11
  • python实现监控某个服务 服务崩溃即发送邮件报告

    python实现监控某个服务 服务崩溃即发送邮件报告

    这篇文章主要为大家详细介绍了python实现监控某个服务,服务崩溃发送邮件报告,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • python脚本将mysql数据写入doris过程

    python脚本将mysql数据写入doris过程

    文章描述了在将MySQL数据写入Doris时遇到的权限和数据质量问题,包括使用Python脚本和Streamload方式的异常,以及通过Flink-CDC进行数据同步时遇到的字符集和主键问题,作者通过分析和调整,最终解决了数据写入问题,并对比了Doris和MySQL在性能上的差异
    2026-02-02
  • Python使用matplotlib实现在坐标系中画一个矩形的方法

    Python使用matplotlib实现在坐标系中画一个矩形的方法

    这篇文章主要介绍了Python使用matplotlib实现在坐标系中画一个矩形的方法,涉及matplotlib模块绘制图形的相关技巧,需要的朋友可以参考下
    2015-05-05
  • Python 遍历子文件和所有子文件夹的代码实例

    Python 遍历子文件和所有子文件夹的代码实例

    本篇文章主要介绍了Python 遍历子文件和所有子文件夹的代码实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-12-12

最新评论