Вставити відео в PowerPoint за допомогою C#

Відеокадри використовуються в презентаціях PowerPoint, щоб продемонструвати щось або залучити аудиторію. Часто відео використовують для економії часу та підвищення ефективності презентацій. У цій статті ви дізнаєтеся, як програмно працювати з відео в презентаціях. Зокрема, у статті буде описано, як вставити або витягти відео в презентацію PowerPoint за допомогою C#.

.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#.

// Клас представлення екземплярів, який представляє 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())
{
    // ID відео
    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 for .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 for .NET без обмежень щодо оцінки, попросивши тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як вставляти відео в презентації PowerPoint за допомогою C#. Крім того, ви бачили, як програмно витягувати відео з презентації. На додаток до цього ви можете відвідати документацію, щоб дізнатися більше про Aspose.Slides for .NET. Також ви можете опублікувати свої запити на нашому форумі.

Дивись також