使用Python快速提取PPT中的文本内容

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

文章目录

    • 用Python提取PPT幻灯片文本
    • 用Python提取PPT备注文本
    • 用Python提取PPT批注文本
      • 总结

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

申请免费License

用Python提取PPT幻灯片文本

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

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

代码示例:

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 属性提取其中的文本了。以下是操作步骤:

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

代码示例:

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.Textnotes_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 属性获取批注中的文本。以下是操作步骤:

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

代码示例:

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.Textcomments_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操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/521669.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能泵站智能运维系统

在现代化城市建设和工农业发展中,泵站作为关键的水利设施,其运行效率和稳定性至关重要。然而,传统的泵站运维方式往往依赖于人工巡检和定期维护,这种方式不仅效率低下,而且难以应对突发状况。随着物联网技术的飞速发展…

在表格中循环插入表单

<template><div class"key">{{ruleForm.casesRange}}<el-form label-position"top" :model"ruleForm" refruleForm><el-form-item label"这个表格怎么写"><el-table :data"tableData" border>…

深圳恒峰智慧|便携式森林灭火泵:森林安全的守护者

在自然环境中&#xff0c;森林是生态系统的重要组成部分&#xff0c;它们为我们提供氧气、净化空气、保持水源和防止土壤侵蚀等重要功能。然而&#xff0c;一旦森林发生火灾&#xff0c;这些宝贵的生态资源将面临巨大的破坏。为了保护森林资源&#xff0c;我们需要一种高效、便…

2024腾讯云服务器优惠价格99元一年,多配置报价表

腾讯云服务器99元一年是真的吗&#xff1f;真的&#xff0c;99元优惠购买入口 txybk.com/go/99 折合每天8元1个月&#xff0c;腾讯云99元服务器配置为2核2G3M带宽&#xff0c;2024年99元服务器配置最新报价为61元一年&#xff0c;如下图&#xff1a; 腾讯云服务器99元一年 腾讯…

Wireshark——获取捕获流量的前N个数据包

1、问题 使用Wireshark捕获了大量的消息&#xff0c;但是只想要前面一部分。 2、方法 使用Wireshark捕获了近18w条消息&#xff0c;但只需要前5w条。 选择文件&#xff0c;导出特定分组。 输入需要保存的消息范围。如&#xff1a;1-50000。 保存即可。

【SSCI稀缺版面】最快录用仅2个月(内附录用发表时间节点)

录用案例 JCR4区经济管理类SSCI (进展顺) 【期刊简介】IF&#xff1a;0-1.0&#xff0c;JCR4区&#xff0c;中科院4区&#xff1b; 【检索情况】SSCI在检&#xff1b; 【征稿领域】计算机/数据建模在经济与管理决策绩效评价的形态应用相关研究均可&#xff1b; 【案例分享】…

COMSOL中使用自定义函数

目录 函数的用法 &#xff08;1&#xff09;解析函数 &#xff08;2&#xff09;插值函数 &#xff08;3&#xff09;分段函数 &#xff08;4&#xff09;高斯脉冲 &#xff08;5&#xff09;斜坡函数 &#xff08;6&#xff09;阶跃函数 &#xff08;7&#xff09;矩形…

C# WinForm AndtUI第三方库 Table控件使用记录

环境搭建 1.在NuGet中搜索AndtUI并下载至C# .NetFramework WinForm项目。 2.添加Table控件至窗体。 使用方法集合 1.单元格点击事件 获取被点击记录特定列内容 private void dgv_CellClick(object sender, MouseEventArgs args, object record, int rowIndex, int columnIn…

传统应急照明解决方案和新标准下地铁应急照明的方案区别

传统地铁站应急照明系统方案 传统地铁站应急照明系统一般设置2套或4套,给相应端区域的应急照明提供电源。由于地铁站应急照明系统设计比较成熟&#xff0c;几乎所有的地铁站接线方案均采用了经典的双电源切换加蓄电池逆变交流220/380V的配电方式.以南方某地铁站为例,此地铁站是…

DDS技术概述及测试策略与方案

随着车载通信技术的快速发展&#xff0c;传统的通信技术在满足车载通信需求方面面临着一些挑战。车载通信对实时性、可靠性以及通信带宽的需求越来越高&#xff0c;同时车载通信环境存在多路径衰落、信号干扰等问题&#xff0c;这些都给通信技术的选择和应用带来了一定的挑战。…

AI智能分析网关V4智慧园区视频智能监管方案

一、背景需求分析 随着科技的不断发展&#xff0c;智慧园区建设已成为现代城市发展的重要方向。通过智能化技术提高园区的运营效率、降低成本、增强环境可持续性等具有重要作用。视频智能监管作为智慧园区安全管理体系的重要组成部分&#xff0c;对于提高园区的安全管理水平和…

二叉搜索树:查找+插入+删除+性能分析

文章目录 一、搜索树1.二叉搜索树的查找2.二叉搜索树的插入3.二叉搜索树的删除4.性能分析 一、搜索树 二叉搜素树 &#xff08; 二叉排序树 ) 1.要么是空树 2.如果左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值 3.如果右子树不为空&#xff0c;则右子树上所…