在 PowerPoint 文档中添加或提取音频和视频可以极大地丰富演示内容,提升观众的参与感和理解度。通过添加音频,可以为演示增添背景音乐、讲解或音效,使内容更具生动感和情感色彩。而插入视频则能够展示动态的图像、示范操作过程或讲解复杂概念,帮助观众更直观地理解内容。提取音频和视频则有助于保存重要的信息或资源,并在需要时重新利用。本文将介绍如何使用 Python 和 Spire.Presentation for Python 在 PowerPoint 中添加或提取音频和视频。
- Python 在 PowerPoint 文档中添加音频
- Python 从 PowerPoint 文档中提取音频
- Python 在 PowerPoint 文档中添加视频
- Python 从 PowerPoint 文档中提取视频
安装 Spire.Presentation for Python
本教程需要 Spire.Presentation for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Presentation
如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.Presentation for Python
Python 在 PowerPoint 文档中添加音频
Spire.Presentation for Python 提供了 Slide.Shapes.AppendAudioMedia() 方法,可用于向幻灯片添加音频文件。具体步骤如下:
- 创建一个 Presentation 类的对象。
- 使用 RectangleF.FromLTRB() 方法创建一个矩形框。
- 在第一张幻灯片中的形状集合中,通过 Slide.Shapes.AppendAudioMedia() 方法添加音频文件到之前创建的矩形框中。
- 使用 Presentation.SaveToFile() 方法将文档保存为 PowerPoint 文件。
- Python
from spire.presentation.common import *
from spire.presentation import *
# 创建一个演示文稿对象
presentation = Presentation()
# 创建音频矩形框
audioRect = RectangleF.FromLTRB(200, 150, 310, 260)
# 添加音频
presentation.Slides[0].Shapes.AppendAudioMedia("data/Music.wav", audioRect)
# 将演示文稿保存为文件
presentation.SaveToFile("添加音频.pptx", FileFormat.Pptx2016)
# 释放资源
presentation.Dispose()
Python 从 PowerPoint 文档中提取音频
要确定一个形状是否为音频类型,可以检查其类型是否为 IAudio。如果形状是音频类型,则可以使用 IAudio.Data 属性来获取音频数据。具体步骤如下:
- 创建一个 Presentation 类的对象。
- 使用 Presentation.LoadFromFile() 方法加载 PowerPoint 演示文稿。
- 遍历第一张幻灯片中的形状集合, 检查每个形状是否是 IAudio 音频类型。
- 如果形状是 IAudio 音频类型,使用 IAudio.Data 属性获取音频对象中的音频数据。
- 使用 AudioData.SaveToFile() 方法将音频数据保存为文件。
- Python
from spire.presentation.common import *
from spire.presentation import *
# 创建一个演示文稿对象
presentation = Presentation()
# 从文件加载演示文稿
presentation.LoadFromFile("音频.pptx")
# 初始化计数器
i = 1
# 遍历第一个幻灯片中的形状
for shape in presentation.Slides[0].Shapes:
# 检查形状是否是音频类型
if isinstance(shape, IAudio):
# 获取音频数据并保存为文件
AudioData = shape.Data
AudioData.SaveToFile("ExtractAudio_"+str(i)+".wav")
i = i + 1
# 释放资源
presentation.Dispose()
Python 在 PowerPoint 文档中添加视频
使用 Slide.Shapes.AppendVideoMedia() 方法,您可以向幻灯片添加视频文件。具体步骤如下:
- 创建一个 Presentation 类的对象。
- 使用 RectangleF.FromLTRB() 方法创建一个矩形框。
- 在第一张幻灯片中的形状集合中,通过 Slide.Shapes.AppendVideoMedia() 方法添加视频文件到之前创建的矩形框中。
- 使用 video.PictureFill.Picture.Url 属性设置视频的封面图片。
- 使用 Presentation.SaveToFile() 方法将文档保存为 PowerPoint 文件。
- Python
from spire.presentation.common import *
from spire.presentation import *
# 创建一个演示文稿对象
presentation = Presentation()
# 创建视频矩形框
videoRect = RectangleF.FromLTRB(200, 150, 450, 350)
# 添加视频
video = presentation.Slides[0].Shapes.AppendVideoMedia("data/Video.mp4", videoRect)
video.PictureFill.Picture.Url = "data/Video.png"
# 将演示文稿保存为文件
presentation.SaveToFile("添加视频.pptx", FileFormat.Pptx2016)
# 释放资源
presentation.Dispose()
Python 从 PowerPoint 文档中提取视频
视频类型是 IVideo。如果形状是 IVideo 类型,则可以使用 IVideo.EmbeddedVideoData 属性来获取视频数据。具体步骤如下:
- 创建一个 Presentation 类的对象。
- 使用 Presentation.LoadFromFile() 方法加载 PowerPoint 演示文稿。
- 遍历第一张幻灯片中的形状集合, 检查每个形状是否是 IVideo 视频类型。
- 如果形状是 IVideo 视频类型,使用 IVideo.EmbeddedVideoData 属性获取视频对象中的视频数据。
- 使用 VideoData.SaveToFile() 方法将视频数据保存为文件。
- Python
from spire.presentation.common import *
from spire.presentation import *
# 创建一个演示文稿对象
presentation = Presentation()
# 从文件加载演示文稿
presentation.LoadFromFile("视频.pptx")
# 初始化计数器
i = 1
# 遍历演示文稿中的每一页幻灯片
for slide in presentation.Slides:
# 遍历每一页幻灯片中的形状
for shape in slide.Shapes:
# 检查形状是否是视频类型
if isinstance(shape, IVideo):
# 获取视频数据并保存为文件
VideoData = shape.EmbeddedVideoData
VideoData.SaveToFile("ExtractVideo_"+str(i)+".avi")
i = i + 1
# 释放资源
presentation.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。