在幻灯片中加入音频和视频是创建互动性 PowerPoint 演示文稿的常见做法,可以帮助演讲者吸引观众并传达更多的信息。然而,如果内容需求发生变化,有时需要对这些多媒体元素进行替换或更新。本文将展示如何使用 Spire.Presentation for 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,开发者可以找到幻灯片中的视频形状并通过 IVideo.EmbeddedVideoData 属性来替换视频数据。在替换视频之后,视频的预览图也需要通过 IVideo.PictureFill.Picture 属性进行更新。详细操作步骤如下:
- 创建 Presentation 类的对象,并使用 Presentation.LoadFromFile() 方法加载 PowerPoint 演示文稿。
- 通过 Presentation.Videos 属性获取演示文稿中嵌入的视频为集合。
- 通过 Presentation.Slides[] 属性获取包含要替换的视频的幻灯片。
- 遍历幻灯片中的形状,并判断一个形状是否为 IVideo 类的实例。如果是,则使用 VideoCollection.AppendByStream() 方法将新视频添加到视频集合中,并通过 IVideo.EmbeddedVideoData 属性替换原始视频。
- 使用 Presentation.Images.AppendStream() 方法将新图片嵌入到演示文稿中,并通过 IVideo.PictureFill.Picture.EmbedImage 属性将其设置为视频的预览图。也可以通过 IVideo.PictureFill.Picture.Url 属性设置在线图片作为预览图。
- 使用 Presentation.SaveToFile() 方法保存演示文稿。
- Python
from spire.presentation import *
from spire.presentation.common import *
# 创建 Presentation 类的对象
pres = Presentation()
# 加载一个 PowerPoint 演示文稿
pres.LoadFromFile("示例.pptx")
# 获取第二张幻灯片
slide = pres.Slides[0]
# 获取演示文稿中的视频
videos = pres.Videos
# 遍历幻灯片上的形状
for shape in slide.Shapes:
# 检查形状是否为视频
if isinstance(shape, IVideo):
video = shape if isinstance(shape, IVideo) else None
# 将新视频附加到视频集合中
videoData = videos.AppendByStream(Stream("Ocean2.mp4"))
# 用新视频替换形状中的视频
video.EmbeddedVideoData = videoData
# 在演示文稿中嵌入一张图片
imageData = pres.Images.AppendStream(Stream("Ocean2.png"))
# 将新图片设置为视频的预览
video.PictureFill.Picture.EmbedImage = imageData
# 保存演示文稿
pres.SaveToFile("output/替换视频.pptx", FileFormat.Pptx2016)
pres.Dispose()
使用 Python 替换 PowerPoint 演示文稿中的音频
同样,开发者也可以使用 Spire.Presentation for Python 找到演示文稿幻灯片中的特定音频并替换音频数据。详细操作步骤如下:
- 创建 Presentation 类的对象,并使用 Presentation.LoadFromFile() 方法加载 PowerPoint 演示文稿文件。
- 通过 Presentation.WavAudios 属性获取演示文稿中嵌入的音频为集合。
- 通过 Presentation.Slides[] 属性获取包含要替换音频的幻灯片。
- 遍历幻灯片中的每个形状,并检查一个形状是否为 IAudio 类的实例。如果是,则使用 WavAudioCollection.Append() 方法将新音频添加到音频集合中,并通过 IAudio.Data 属性替换原音频。
- 使用 Presentation.SaveToFile() 方法保存演示文稿。
- Python
from spire.presentation import *
from spire.presentation.common import *
# 创建 Presentation 类的对象
pres = Presentation()
# 加载一个 PowerPoint 演示文稿文件
pres.LoadFromFile("示例.pptx")
# 从演示文稿中获取音频
audios = pres.WavAudios
# 获取包含音频的幻灯片
slide = pres.Slides[0]
# 遍历幻灯片中的每个形状
for shape in slide.Shapes:
# 检查形状是否为音频形状
if isinstance(shape, IAudio):
audio = shape if isinstance(shape, IAudio) else None
# 加载音频文件
stream = Stream("Wave2.wav")
# 替换形状中的音频
audioData = audios.Append(stream)
audio.Data = audioData
# 保存演示文稿
pres.SaveToFile("output/替换音频.pptx", FileFormat.Pptx2016)
pres.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。