python办公自动化:使用`Python-PPTX` 嵌入媒体文件
在演示文稿中嵌入媒体文件(如视频和音频)可以使幻灯片更具互动性和吸引力。Python-PPTX库支持向幻灯片中添加多种类型的媒体文件。本节将详细讲解如何使用Python-PPTX库来嵌入和控制媒体文件。
1 添加视频文件
视频文件是演示文稿中常用的多媒体形式之一,可以用于展示产品功能、演示操作步骤或增强视觉效果。Python-PPTX库支持常见的视频文件格式(如MP4和WMV)。
以下是如何在幻灯片中嵌入视频文件的步骤:
from pptx import Presentation
from pptx.util import Inches
# 创建演示文稿对象
prs = Presentation()
# 添加一个空白幻灯片
slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(slide_layout)
# 添加视频文件
video_path = "sample_video.mp4"
left = Inches(1)
top = Inches(1)
width = Inches(6)
height = Inches(4.5)
# 将视频嵌入幻灯片
video_shape = slide.shapes.add_movie(video_path, left, top, width, height, poster_frame_image=None, mime_type='video/mp4')
# 保存演示文稿
prs.save('advanced_content_with_video.pptx')
在上面的代码中:
- 使用
add_movie()
方法将视频文件添加到幻灯片中。 - 参数
left
、top
、width
、height
指定视频的显示位置和尺寸。 poster_frame_image
是可选参数,用于指定视频播放前显示的预览图像。mime_type
指定了视频文件的MIME类型,这里设置为video/mp4
。
2 添加音频文件
音频文件可以为演示文稿增加背景音乐或语音说明。Python-PPTX库同样支持常见的音频文件格式(如MP3和WAV)。
from pptx import Presentation
from pptx.util import Inches
# 创建演示文稿对象
prs = Presentation()
# 添加一个空白幻灯片
slide_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(slide_layout)
# 添加音频文件
audio_path = "sample_audio.mp3"
left = Inches(1)
top = Inches(1)
width = Inches(2)
height = Inches(2)
# 将音频嵌入幻灯片
audio_shape = slide.shapes.add_movie(audio_path, left, top, width, height, mime_type='audio/mpeg')
# 保存演示文稿
prs.save('advanced_content_with_audio.pptx')
在上面的代码中:
add_movie()
方法同样可以用于嵌入音频文件,mime_type
参数设置为audio/mpeg
以指定MP3音频格式。
3 控制媒体播放设置
添加媒体文件后,您可以通过Python-PPTX库来控制媒体文件的播放设置,如自动播放、循环播放和隐藏播放控件等。
# 设置视频自动播放
video_shape.media_format.start_in_click_sequence = False # 不需要点击即可自动播放
video_shape.media_format.play_mode = PP_MEDIA_PLAY_MODE.AUTO # 设置为自动播放
# 设置音频循环播放
audio_shape.media_format.loop_until_stopped = True # 音频循环播放
# 隐藏音频图标(仅播放音频)
audio_shape.click_action.play = False # 禁用点击播放
audio_shape.media_format.show_controls = False # 隐藏播放控件
在以上代码中:
media_format
对象用于控制媒体播放设置。start_in_click_sequence
设置为False
表示视频不需要点击即可自动播放。play_mode
设置为PP_MEDIA_PLAY_MODE.AUTO
以自动播放模式播放视频。loop_until_stopped
设置为True
表示音频将循环播放,直到手动停止。show_controls
设置为False
可以隐藏媒体的播放控件。
4 添加和操作媒体控件
您还可以在幻灯片中添加控制媒体播放的按钮或形状,这对于创建更互动的演示文稿非常有用。
from pptx.enum.shapes import MSO_SHAPE
# 添加播放按钮形状
button_shape = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(1), Inches(5), Inches(2), Inches(1))
button_shape.text = "播放视频"
# 设置按钮点击操作播放视频
button_shape.click_action.play = video_shape # 点击按钮播放视频
在上面的代码中:
add_shape()
方法用于添加一个矩形按钮到幻灯片。click_action.play
属性设置为视频形状对象,使得点击按钮时会播放视频。
在本节中,您学习了如何在Python-PPTX中嵌入和控制多种媒体文件,包括视频、音频。