スライドにテキストや画像だけがあると、観客が退屈することがあります。ビデオを挿入することは、プレゼンテーションに視覚的な魅力を加え、観客の関心を引くための優れた方法です。本記事では、C# で Spire.Presentation for .NET を使用して PowerPoint プレゼンテーションにビデオを挿入、置換、抽出する方法について説明します。
- C# で PowerPoint スライドにビデオを挿入する
- C# で PowerPoint プレゼンテーションのビデオを置換する
- C# で PowerPoint プレゼンテーションからビデオを抽出する
Spire.Presentation for .NET をインストールします
まず、Spire.Presentation for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Presentation
C# で PowerPoint スライドにビデオを挿入する
プレゼンテーション中にビデオを挿入しておくことで、観客にすぐにビデオを共有でき、コンピュータから探す手間が省けます。以下の手順で PowerPoint プレゼンテーションにビデオを挿入します。
- Presentation クラスのインスタンスを作成します。
- Presentation.LoadFromFile() メソッドで PowerPoint 文書を読み込みます。
- Presentation.Slides.Append() メソッドを使用して新しいスライドを追加します。
- RectangleF クラスのインスタンスを作成します。
- ISlide.Shapes.AppendVideoMedia(string, RectangleF) メソッドでスライドにビデオを追加します。
- IVideo.PictureFill.Picture.EmbedImage プロパティを使って、ビデオのサムネイル画像を設定します。
- Presentation.SaveToFile() メソッドでプレゼンテーションを保存します。
- C#
using Spire.Presentation;
using Spire.Presentation.Drawing;
using System.Drawing;
namespace InsertVideoInPPT
{
class Program
{
static void Main(string[] args)
{
// プレゼンテーションインスタンスを作成
Presentation presentation = new Presentation();
// PowerPointドキュメントを読み込む
presentation.LoadFromFile("Sample.pptx");
// 新しいスライドを追加
ISlide slide = presentation.Slides.Append(SlideLayoutType.TitleOnly);
// タイトルテキストを追加
slide.Title = "海の波のビデオ";
// 最初のスライドにビデオを追加
RectangleF videoRect = new RectangleF(presentation.SlideSize.Size.Width / 2 - 300, 150, 500, 281);
IVideo video = slide.Shapes.AppendVideoMedia("Ocean1.mp4", videoRect);
// ビデオのサムネイル画像を設定
Image image = Image.FromFile("Ocean1.png");
IImageData imageData = presentation.Images.Append(image);
video.PictureFill.Picture.EmbedImage = imageData;
// 結果のドキュメントを保存
presentation.SaveToFile("output/PowerPointにビデオを挿入.pptx", FileFormat.Auto);
presentation.Dispose();
}
}
}
C# で PowerPoint プレゼンテーションのビデオを置換する
既存のビデオが内容に合わない場合は、別の適切なビデオに置き換えることができます。以下の手順で、PowerPoint プレゼンテーション内の既存のビデオを他のビデオに置き換えます。
- Presentation クラスのインスタンスを作成します。
- Presentation.LoadFromFile() メソッドで PowerPoint 文書を読み込みます。
- Presentation.Slides[int] プロパティを使って、指定されたインデックスのスライドを取得します。
- File.ReadAllBytes() メソッドでビデオをバイト配列に読み込みます。
- Presentation.Videos.Append(byte[]) メソッドで読み込んだビデオを文書のビデオコレクションに追加します。
- スライド内のすべてのシェイプをループ処理し、ビデオシェイプを探します。
- IVideo.EmbeddedVideoData プロパティで元のビデオを読み込んだビデオに置換し、IVideo.PictureFill.Picture.Url プロパティでビデオのサムネイル画像を変更します。
- Presentation.SaveToFile() メソッドでプレゼンテーションを保存します。
- C#
using Spire.Presentation;
using Spire.Presentation.Drawing;
using System.Drawing;
namespace ReplaceVideoInPPT
{
class Program
{
static void Main(string[] args)
{
// プレゼンテーションインスタンスを作成
Presentation presentation = new Presentation();
// PowerPointドキュメントを読み込む
presentation.LoadFromFile("output/PowerPointにビデオを挿入.pptx");
// スライドを取得
ISlide slide = presentation.Slides[1];
// ビデオをバイト配列に読み込む
byte[] bts = File.ReadAllBytes("Ocean2.mp4");
// 読み込んだビデオをドキュメントのビデオコレクションに追加
VideoData videoData = presentation.Videos.Append(bts);
// 最初のスライドのすべてのシェイプをループ
foreach (Shape shape in slide.Shapes)
{
// シェイプがIVideoタイプかどうかを確認
if (shape is IVideo)
{
// シェイプをIVideoとしてキャスト
IVideo video = shape as IVideo;
// 元のビデオを読み込んだビデオに置き換える
video.EmbeddedVideoData = videoData;
// ビデオのサムネイル画像を変更
Image image = Image.FromFile("Ocean2.png");
IImageData imageData = presentation.Images.Append(image);
video.PictureFill.Picture.EmbedImage = imageData;
}
}
// 結果のドキュメントを保存
presentation.SaveToFile("output/PowerPointのビデオを置き換える.pptx", FileFormat.Auto);
presentation.Dispose();
}
}
}
C# で PowerPoint プレゼンテーションからビデオを抽出する
PowerPoint プレゼンテーションに含まれるビデオを他の用途に利用したい場合、それらを抽出してディスクに保存できます。以下の手順で PowerPoint プレゼンテーションからビデオを抽出します。
- Presentation クラスのインスタンスを作成します。
- Presentation.LoadFromFile() メソッドで PowerPoint 文書を読み込みます。
- 文書内のすべてのスライドをループ処理します。
- 各スライド内のすべてのシェイプをループ処理します。
- ビデオシェイプを見つけ、IVideo.EmbeddedVideoData.SaveToFile() メソッドでビデオをディスクに保存します。
- C#
using Spire.Presentation;
namespace ExtractVideosInPPT
{
class Program
{
static void Main(string[] args)
{
// プレゼンテーションインスタンスを作成
Presentation presentation = new Presentation();
// PowerPointドキュメントを読み込む
presentation.LoadFromFile("output/PowerPointのビデオを置き換える.pptx");
int i = 0;
// 出力ファイルパスを指定
string result = string.Format("output/Video/Video{0}.mp4", i);
// ドキュメント内のすべてのスライドをループ
foreach (ISlide slide in presentation.Slides)
{
// 各スライドのすべてのシェイプをループ
foreach (IShape shape in slide.Shapes)
{
// シェイプがIVideoタイプかどうかを確認
if (shape is IVideo)
{
// 指定されたパスにビデオを保存
(shape as IVideo).EmbeddedVideoData.SaveToFile(result);
i++;
}
}
}
}
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。