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

embedded/2024/9/23 2:11:34/

将多种格式的媒体内容进行重新利用(如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. 释放资源。

代码示例

python">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. 释放资源。

代码示例

python">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教程查看。


http://www.ppmy.cn/embedded/115348.html

相关文章

API 接入前的安全防线:注意事项全梳理

在当今数字化的商业环境中,API(Application Programming Interface)的广泛应用为企业带来了诸多便利,但同时也伴随着潜在的安全风险。在接入 API 之前,构建坚实的安全防线至关重要。以下是对 API 接入前安全注意事项的…

达梦disql支持上翻历史命令-安装rlwrap

time:2024/09/18 Author:skatexg 一、背景 DM安装完成后使用disql命令行,无法使用上下键引用历史命令,会出现“[[A[[A”的现象。这样的操作包括使用退格Backspace键,上下键,左右键等。解决这个问题,可以使用rlwrap工…

Python练习宝典:Day 1 - 选择题 - 基础知识

目录 一、踏上Python之旅二、Python语言基础三、流程控制语句四、序列的应用 一、踏上Python之旅 1.想要输出 I Love Python,应该使用()函数。 A.printf() B.print() C.println() D.Print()2.Python安装成功的标志是在控制台(终端)输入python/python3后,命令提示符变为: A.&…

自监督的主要学习方法

自监督学习是一种机器学习方法,其中模型从未标注的数据中学习生成标签,通常通过构造预训练任务或预测任务来从数据的内部结构中提取信息。它的核心目标是利用无监督的数据进行学习,从而在下游任务中更好地利用监督信号。自监督学习的主要方法…

QNX Hypervisor(十)Linux Guest IPC 二

上文还遗留了一个问题,就是在测试ipc的时候挂死了。相关原理我写在了另外一篇文章。 内存管理 所以导致挂死的问题就是因为没有进行地址映射,mmu无法转换。从kernel代码看,只有ram区域才会进行映射。我们的qvmconf文件也确实没有配置0xb8000000,只配置了pass。 pass loc …

Flutter 踩坑记录分享(持续更新)

在使用 Flutter 进行开发的过程中,虽然它凭借其高效的跨平台能力和丰富的插件生态极大地提高了开发效率,但同时也遇到了一些棘手的问题和“坑”。在此分享一些我在实际开发中遇到的坑以及解决思路,供大家参考和借鉴。 1. just_audio 插件使用…

回归预测 | Matlab实现ReliefF-XGBoost多变量回归预测

回归预测 | Matlab实现ReliefF-XGBoost多变量回归预测 目录 回归预测 | Matlab实现ReliefF-XGBoost多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.ReliefF-xgboost回归预测代码,对序列数据预测性能相对较高。首先通过ReleifF对输入特征计算权…

C#学习(四)C#连接Mysql实现增删改查

博主刚开始接触C#,本系列为学习记录,如有错误欢迎各位大佬指正!期待互相交流! 文章目录 一、安装Mysql1.1 启用Mysql1.2 登录Mysql 二、安装Navicat2.1 建立连接2.2 新建数据库2.3 新建表 三、创建Winform实现增、删、改、查3.1 下…