Видеокадры используются в презентациях PowerPoint для демонстрации чего-либо или привлечения аудитории. Часто видео используются для экономии времени и повышения эффективности презентаций. В этой статье вы узнаете, как программно работать с видео в презентациях. В частности, в статье будет рассказано, как встроить или извлечь видео в презентацию PowerPoint с помощью C#.
- .NET API для встраивания видео в презентации PowerPoint
- Встраивание видео в презентацию PowerPoint с помощью C#
- Встроить видео из веб-источника
- Извлечь видео из презентации PowerPoint
.NET API для встраивания видео в презентации PowerPoint
Чтобы вставлять или извлекать видео в презентации PowerPoint, мы будем использовать Aspose.Slides for .NET. API предназначен для создания и управления документами PowerPoint и OpenOffice. Вы можете установить API через NuGet или скачать его DLL.
PM> Install-Package Aspose.Slides.NET
Встроить видео в презентацию PowerPoint с помощью C#
Ниже приведены шаги для встраивания видео в презентацию PowerPoint с помощью C#.
- Сначала загрузите файл PowerPoint или создайте новый с помощью класса Presentation.
- Затем получите ссылку на нужный слайд в объекте ISlide.
- Добавьте новое видео в коллекцию видео презентации с помощью метода Presentation.Videos.AddVideo() и получите ссылку на него в объект IVideo.
- Добавьте новый видеокадр на слайд с помощью метода ISlide.Shapes.AddVideoFrame(single, single, single, single, IVideo).
- Получить ссылку на видеокадр в объект IVideoFrame.
- Установите режим воспроизведения и громкость видео.
- Наконец, сохраните презентацию, используя метод Presentation.Save(String, SaveFormat).
В следующем примере кода показано, как внедрить видео в презентацию PowerPoint с помощью C#.
// Создание экземпляра класса Presentation, представляющего PPTX.
using (Presentation pres = new Presentation())
{
// Получить первый слайд
ISlide sld = pres.Slides[0];
// Добавить видео в презентацию
IVideo vid = pres.Videos.AddVideo(new FileStream("Wildlife.mp4", FileMode.Open));
// Добавить кадр видео
IVideoFrame vf = sld.Shapes.AddVideoFrame(50, 150, 300, 350, vid);
// Назначить видео видеокадру
vf.EmbeddedVideo = vid;
// Установите режим воспроизведения и громкость видео
vf.PlayMode = VideoPlayModePreset.Auto;
vf.Volume = AudioVolumeMode.Loud;
// Запишите файл PPTX на диск
pres.Save("VideoFrame_out.pptx", SaveFormat.Pptx);
}
Встраивание видео в презентации из веб-источника
Вы также можете вставлять видео в презентации PowerPoint из веб-источника. Ниже приведены шаги для достижения этого.
- Сначала загрузите файл PowerPoint или создайте новый с помощью класса Presentation.
- Затем получите ссылку на нужный слайд в объекте ISlide.
- Добавьте новый видеокадр на слайд, указав URL-адрес видео в методе ISlide.Shapes.AddVideoFrame(single, single, single, single, String).
- Получить ссылку на видеокадр в объект IVideoFrame.
- Установите режим воспроизведения и громкость видео.
- Установите миниатюру видео с помощью WebClient.
- Сохраните презентацию методом Presentation.Save(String, SaveFormat).
В следующем примере кода показано, как встроить видео в презентацию из веб-источника.
using (Presentation pres = new Presentation())
{
// Идентификатор видео
string videoId = "Tj75Arhq5ho";
// Добавить кадр видео
IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId);
videoFrame.PlayMode = VideoPlayModePreset.Auto;
// Загрузить миниатюру
using (WebClient client = new WebClient())
{
string thumbnailUri = "http://img.youtube.com/vi/" + videoId + "/hqdefault.jpg";
videoFrame.PictureFormat.Picture.Image = pres.Images.AddImage(client.DownloadData(thumbnailUri));
}
// Сохранить презентацию
pres.Save("AddVideoFrameFromWebSource_out.pptx", SaveFormat.Pptx);
}
Извлечение видео из презентации PowerPoint на C#
Aspose.Slides для .NET также позволяет извлекать видео из презентации. Ниже приведены простые шаги для достижения этого.
- Сначала загрузите файл PowerPoint с помощью класса Presentation.
- Затем просмотрите все ISlide в коллекции Presentation.Slides.
- Для каждого объекта ISlide выполните цикл по коллекции IShape в нем.
- Если IShape представляет собой VideoFrame, извлеките и сохраните встроенное видео.
В следующем примере кода показано, как извлечь видео из презентации PowerPoint с помощью C#.
// Загрузить файл презентации
Presentation presentation = new Presentation("Video.pptx");
// Циклический просмотр слайдов в презентации
foreach (ISlide slide in presentation.Slides)
{
// Цикл по фигурам
foreach (IShape shape in presentation.Slides[0].Shapes)
{
if (shape is VideoFrame)
{
// Извлечь и сохранить видео
IVideoFrame vf = shape as IVideoFrame;
String type = vf.EmbeddedVideo.ContentType;
int ss = type.LastIndexOf('/');
type = type.Remove(0, type.LastIndexOf('/') + 1);
Byte[] buffer = vf.EmbeddedVideo.BinaryData;
using (FileStream stream = new FileStream("NewVideo_out." + type, FileMode.Create, FileAccess.Write, FileShare.Read))
{
stream.Write(buffer, 0, buffer.Length);
}
}
}
}
Получите бесплатную лицензию API
Вы можете использовать Aspose.Slides для .NET без ограничений на пробную версию, запросив временную лицензию.
Вывод
В этой статье вы узнали, как встраивать видео в презентации PowerPoint с помощью C#. Более того, вы видели, как программно извлекать видео из презентации. В дополнение к этому вы можете посетить документацию, чтобы узнать больше об Aspose.Slides для .NET. Кроме того, вы можете оставлять свои вопросы на нашем форуме.
Смотрите также
- Создание презентаций MS PowerPoint на C#
- Преобразование изображений PowerPoint PPTX/PPT в PNG в C#
- Установите фон слайда в презентациях PowerPoint с помощью С#
- Создавайте миниатюры для PowerPoint PPTX или PPT с помощью C#
- Применение анимации к тексту в PowerPoint с помощью C#
- Разделить презентации PowerPoint с помощью C#