当前位置: 首页 > news >正文

用Python提取PowerPoint演示文稿中的音频和视频

将多种格式的媒体内容进行重新利用(如PowerPoint演示中的音频和视频)是非常有价值的。无论是创建独立的音频文件、提取视频以便在线分发,还是为了未来的使用需求进行资料归档,从演示文稿中提取这些媒体文件可以为多媒体内容的多次使用提供更大的灵活性。而这一过程可以通过Python轻松实现。
本文将演示如何使用Python从PowerPoint演示文稿中提取音频和视频

文章目录

    • 用Python从PPT中提取音频
    • 用Python从PPT中提取音频

本文所使用的方法需要用到Spire.Presentation for Python,PyPI:pip install Spire.Presentation

申请免费License

用Python从PPT中提取音频

库中的IShape类代表PowerPoint幻灯片中的内容元素,而IAudio类则专门表示音频形状。要从演示文稿中提取音频,我们可以遍历每张幻灯片中的形状,判断某个形状是否为IAudio对象,并通过IAudio.Data.SaveToFile()方法将音频保存为文件。
提取演示文稿中的音频文件的具体步骤如下:

  1. 导入所需模块。
  2. 创建一个Presentation对象。
  3. 使用Presentation.LoadFromFile()方法加载PowerPoint演示文稿。
  4. 遍历演示文稿中的幻灯片,然后遍历幻灯片中的所有形状。
  5. 检查形状是否为IAudio类的对象。如果是,则使用IAudio.Data.SaveToFile()方法将音频数据保存到文件中。
  6. 释放资源。

代码示例

from spire.presentation import *
import mimetypes# 创建一个演示文稿对象
presentation = Presentation()# 加载一个PowerPoint文件
presentation.LoadFromFile("示例.pptx")i = 1
# 遍历所有幻灯片
for slide in presentation.Slides:# 遍历幻灯片中的所有形状for shape in slide.Shapes:# 检查形状是否为音频if isinstance(shape, IAudio):# 获取音频数据audioData = shape.Data# 将音频数据保存到文件audioData.SaveToFile(f"output/Audio/Audio{i}" + f"{mimetypes.guess_extension(audioData.ContentType)}")i += 1presentation.Dispose()

结果
Python提取PPT音频

用Python从PPT中提取音频

同样,库中也有IVideo类代表演示文稿中的视频形状。我们可以用与提取音频相似的方法来提取PPT中的视频。以下是详细操作步骤:

  1. 导入所需模块。
  2. 创建一个Presentation对象。
  3. 使用Presentation.LoadFromFile()方法加载PowerPoint演示文稿。
  4. 遍历演示文稿中的幻灯片,然后遍历幻灯片中的所有形状。
  5. 检查形状是否为IVideo类的对象。如果是,则使用IVideo.Data.SaveToFile()方法将视频数据保存到文件中。
  6. 释放资源。

代码示例

from spire.presentation import *
import mimetypes# 创建一个演示文稿对象
presentation = Presentation()# 加载一个PowerPoint文件
presentation.LoadFromFile("示例.pptx")i = 1
# 遍历所有幻灯片
for slide in presentation.Slides:# 遍历所有形状for shape in slide.Shapes:# 检查形状是否为视频if isinstance(shape, IVideo):# 获取视频数据videoData = shape.EmbeddedVideoData# 将视频数据保存到文件videoData.SaveToFile(f"output/Video{i}" + f"{mimetypes.guess_extension(videoData.ContentType)}")i += 1presentation.Dispose()

结果
Python提取PPT视频

本文演示了如何使用Python提取PowerPoint演示文稿中的音频和视频。

更多PowerPoint演示文稿处理技巧请前往Spire.Presentation for Python教程查看。

相关文章:

  • Python 烟花展示:使用 Pygame 创建绚丽的夜空
  • 【GreenHills】使用“gsrec”命令生成二进制文件
  • (done) 声音信号处理基础知识(4) (Understanding Audio Signals for ML)
  • python虚拟环境创建使用
  • 神舟笔记本安装Control Center无法打开
  • [机器学习]04-逻辑回归(python)-03-API与癌症分类案例讲解
  • Math Reference Notes: 微分与积分:局部与全局的几何理解
  • Linux必学知识点:单独编译、烧写构建某个镜像,打包Linux系统镜像
  • AI日常绘画【国庆海报】:盛世迎华诞,最强AI绘图大模型Flux国庆节海报制作教程
  • 管家婆分销费用分摊功能使用说明!
  • Gradio 自定义组件
  • 三天搞了7000,AI绘本副业赚钱新途径,抓住绘本创业,轻松开启副业
  • PostgreSQL 主从的进程和Oracle dataguard的进程对比介绍
  • 计算机毕业设计 基于 Hadoop平台的岗位推荐系统 SpringBoot+Vue 前后端分离 附源码 讲解 文档
  • [Redis][Zset]详细讲解
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • C语言笔记(第一章:C语言编程)
  • java8 Stream Pipelines 浅析
  • JavaScript中的对象个人分享
  • ng6--错误信息小结(持续更新)
  • Redis 懒删除(lazy free)简史
  • Unix命令
  • Vue UI框架库开发介绍
  • vue:响应原理
  • 汉诺塔算法
  • 数据可视化之 Sankey 桑基图的实现
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 第二十章:异步和文件I/O.(二十三)
  • ​iOS安全加固方法及实现
  • ​linux启动进程的方式
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​一些不规范的GTID使用场景
  • ​字​节​一​面​
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • #includecmath
  • #在 README.md 中生成项目目录结构
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (C语言)fgets与fputs函数详解
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (转)Sublime Text3配置Lua运行环境
  • .NET 命令行参数包含应用程序路径吗?
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .net8.0与halcon编程环境构建
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .sh 的运行
  • 。Net下Windows服务程序开发疑惑
  • /proc/vmstat 详解
  • @Autowired和@Resource的区别
  • @EventListener注解使用说明