PowerPoint ドキュメントに音声や動画を追加または抽出することで、プレゼンテーションの内容を大幅に豊かにし、聴衆の関与を高め、理解を向上させることができます。音声を追加すると、BGM、ナレーション、効果音などを含め、内容をより生き生きと感情豊かにできます。動画を挿入すると、動的な映像を披露し、プロセスを示したり、複雑な概念を説明したりでき、聴衆の直感的な理解を助けます。音声や動画の抽出は、重要な情報やリソースを保存し、必要なときに再利用するのに役立ちます。本記事では、Python と Spire.Presentation for Python を使用して PowerPoint に音声・動画を追加または抽出する方法を紹介します。
クイックナビゲーション
- Python で PowerPoint ドキュメントに音声を追加
- Python で PowerPoint ドキュメントから音声を抽出
- Python で PowerPoint ドキュメントに動画を追加
- Python で PowerPoint ドキュメントから動画を抽出
- まとめ
- FAQ
1. Spire.Presentation for Python のインストール
このシナリオには Spire.Presentation for Python と plum-dispatch v1.7.4 が必要です。以下の pip コマンドで簡単にインストールできます。
pip install Spire.Presentation
Python スクリプトで必要なモジュールをインポートします。
from spire.presentation.common import *
from spire.presentation import *
または、Spire.Presentation for Python のダウンロードページ から手動でライブラリをインストールすることもできます。
1. Python で PowerPoint ドキュメントに音声を追加
Spire.Presentation for Python は Slide.Shapes.AppendAudioMedia() メソッドを提供しており、スライドに音声ファイルを追加できます。次の例では、最初のスライドの指定した長方形領域に音声ファイルを追加する方法を示します。
from spire.presentation.common import *
from spire.presentation import *
# Presentation オブジェクトを作成
presentation = Presentation()
# 音声用の長方形を作成
audioRect = RectangleF.FromLTRB(200, 150, 310, 260)
# 音声を追加
presentation.Slides[0].Shapes.AppendAudioMedia("data/Music.wav", audioRect)
# プレゼンテーションをファイルに保存
presentation.SaveToFile("AddAudio.pptx", FileFormat.Pptx2016)
# リソースを解放
presentation.Dispose()

2. Python で PowerPoint ドキュメントから音声を抽出
シェイプが音声タイプかどうかを判断するには、そのタイプが IAudio かどうかを確認します。シェイプが音声タイプの場合、IAudio.Data プロパティを使用して音声データを取得できます。次の例では、最初のスライドの音声データを抽出して個別のファイルに保存する方法を示します。
from spire.presentation.common import *
from spire.presentation import *
# Presentation オブジェクトを作成
presentation = Presentation()
# プレゼンテーションをファイルから読み込む
presentation.LoadFromFile("Audio.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()

3. Python で PowerPoint ドキュメントに動画を追加
Slide.Shapes.AppendVideoMedia() メソッドを使用すると、スライドに動画ファイルを追加できます。次の例では、最初のスライドの指定した長方形領域に動画を追加し、動画のカバー画像を設定する方法を示します。
from spire.presentation.common import *
from spire.presentation import *
# Presentation オブジェクトを作成
presentation = Presentation()
# 動画用の長方形を作成
videoRect = RectangleF.FromLTRB(200, 150, 450, 350)
# 動画を追加
video = presentation.Slides[0].Shapes.AppendVideoMedia("Ocean.mp4", videoRect)
video.PictureFill.Picture.Url = "Ocean.png"
# プレゼンテーションをファイルに保存
presentation.SaveToFile("AddVideo.pptx", FileFormat.Pptx2016)
# リソースを解放
presentation.Dispose()

4. Python で PowerPoint ドキュメントから動画を抽出
動画タイプは IVideo です。シェイプが IVideo タイプの場合、IVideo.EmbeddedVideoData プロパティを使用して動画データを取得できます。次の例では、プレゼンテーション内のすべての動画データを抽出して個別のファイルに保存する方法を示します。
from spire.presentation.common import *
from spire.presentation import *
# Presentation オブジェクトを作成
presentation = Presentation()
# プレゼンテーションをファイルから読み込む
presentation.LoadFromFile("Video.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()

まとめ
本記事では、Spire.Presentation for Python を使用して Python で PowerPoint ドキュメントの音声と動画を追加・抽出する方法 を実演しました。音声を追加するには Slide.Shapes.AppendAudioMedia() メソッド、動画を追加するには Slide.Shapes.AppendVideoMedia() メソッドを使用し、video.PictureFill.Picture.Url プロパティで動画のカバー画像を設定できます。音声を抽出するには IAudio.Data プロパティ、動画を抽出するには IVideo.EmbeddedVideoData プロパティを使用して、データをファイルに保存します。これらの機能は、プレゼンテーションへのマルチメディア組み込み、素材の整理・再利用などの自動化シナリオに役立ちます。
評価版の制限を解除したい場合や、機能制限を取り除きたい場合は、30 日間の無料ライセンスを申請できます。
6. FAQ
Spire.Presentation のインストールには Microsoft PowerPoint が必要ですか?
いいえ。Spire.Presentation はスタンドアロンのライブラリであり、Microsoft Office や PowerPoint をインストールする必要はありません。
PowerPoint に音声を追加できますか?
はい。Slide.Shapes.AppendAudioMedia("data/Music.wav", audioRect) メソッドを使用して、指定した長方形領域に音声ファイルを追加できます。
PowerPoint から音声を抽出できますか?
はい。スライドのシェイプをループ処理し、isinstance(shape, IAudio) で音声シェイプを判別して、shape.Data プロパティで音声データを取得し、SaveToFile() メソッドでファイルに保存します。
PowerPoint に動画を追加できますか?
はい。Slide.Shapes.AppendVideoMedia("data/Video.mp4", videoRect) メソッドで動画を追加し、video.PictureFill.Picture.Url プロパティでカバー画像を設定できます。
PowerPoint から動画を抽出できますか?
はい。各スライドのシェイプをループ処理し、isinstance(shape, IVideo) で動画シェイプを判別して、shape.EmbeddedVideoData プロパティで動画データを取得し、SaveToFile() メソッドでファイルに保存します。






