Встроить видео в PowerPoint с помощью Java

Презентации PowerPoint часто содержат видеокадры для демонстрации чего-либо или привлечения аудитории. Во многих случаях видео используются для экономии времени и повышения эффективности презентаций. В этой статье вы узнаете, как программно работать с видео в файлах PowerPoint. В частности, в статье будет рассказано, как встроить или извлечь видео в презентацию PowerPoint с помощью Java.

Java API для встраивания видео в презентации PowerPoint

Чтобы вставлять или извлекать видео в презентации PowerPoint, мы будем использовать Aspose.Slides for Java. API предназначен для создания и управления документами PowerPoint и OpenOffice. Вы можете либо скачать JAR-файл API, либо установить его, используя следующие конфигурации Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.8</version>
    <classifier>jdk16</classifier>
</dependency>

Встроить видео в презентацию PowerPoint с помощью Java

Ниже приведены шаги для встраивания видео в презентацию PowerPoint с использованием Java.

  • Сначала загрузите файл PowerPoint или создайте новый с помощью класса Presentation.
  • Затем получите ссылку на нужный слайд в объекте ISlide.
  • Добавьте новое видео в коллекцию видео презентации с помощью метода Presentation.getVideos().addVideo() и получите ссылку на него в объект IVideo.
  • Добавьте новый видеокадр на слайд с помощью метода ISlide.getShapes().addVideoFrame(single, single, single, single, IVideo).
  • Получить ссылку на видеокадр в объект IVideoFrame.
  • Установите режим воспроизведения и громкость видео.
  • Наконец, сохраните презентацию, используя метод Presentation.save(String, SaveFormat).

В следующем примере кода показано, как встроить видео в презентацию PowerPoint с помощью Java.

// Загрузить презентацию или создать новую
Presentation pres = new Presentation();
try {
    // Получить первый слайд
    ISlide sld = pres.getSlides().get_Item(0);
    
    // Добавить видео внутри презентации
    IVideo vid = pres.getVideos().addVideo(new FileInputStream(new File("Wildlife.mp4")));

    // Добавить кадр видео
    IVideoFrame vf = sld.getShapes().addVideoFrame(50, 150, 300, 350, vid);

    // Установить видео в видеокадр
    vf.setEmbeddedVideo(vid);

    // Установите режим воспроизведения и громкость видео
    vf.setPlayMode(VideoPlayModePreset.Auto);
    vf.setVolume(AudioVolumeMode.Loud);

    // Запишите файл PPTX на диск
    pres.save("VideoFrame.pptx", SaveFormat.Pptx);
} catch (Exception e) {
} finally {
    if (pres != null) pres.dispose();
}

Встраивание видео из веб-источника с помощью Java

Вы также можете вставлять видео в презентации PowerPoint из веб-источника. Ниже приведены шаги для достижения этого.

  • Сначала загрузите файл PowerPoint или создайте новый с помощью класса Presentation.
  • Затем получите ссылку на нужный слайд в объекте ISlide.
  • Добавьте новый видеокадр на слайд, указав URL-адрес видео в методе ISlide.getShapes().addVideoFrame(single, single, single, single, String).
  • Получить ссылку на видеокадр в объект IVideoFrame.
  • Установите режим воспроизведения и громкость видео.
  • Установите миниатюру видео.
  • Наконец, сохраните презентацию, используя метод Presentation.save(String, SaveFormat).

В следующем примере кода показано, как внедрить видео в презентацию из веб-источника.

// Создайте презентацию или загрузите существующую
Presentation pres = new Presentation("presentation");
try {
      // добавить видеокадр
      IVideoFrame videoFrame = pres.getSlides().get_Item(0).getShapes().addVideoFrame(
              10, 10, 427, 240, "https://www.youtube.com/embed/Tj75Arhq5ho");
      videoFrame.setPlayMode(VideoPlayModePreset.Auto);

      // загрузить миниатюру
      String thumbnailUri = "http://img.youtube.com/vi/Tj75Arhq5ho/hqdefault.jpg";
      URL url;

      // Установить миниатюру
      try {
          url = new URL(thumbnailUri);
          videoFrame.getPictureFormat().getPicture().setImage(pres.getImages().addImage(url.openStream()));
      } catch (MalformedURLException e) {
          e.printStackTrace();
      } catch (IOException e) {
          e.printStackTrace();
      }
      // Сохранить презентацию
      pres.save("out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Извлечение видео из презентации PowerPoint в Java

Aspose.Slides for Java также позволяет извлекать видео из презентации. Ниже приведены простые шаги для достижения этого.

  • Сначала загрузите файл PowerPoint с помощью класса Presentation.
  • Затем прокрутите все ISlide в коллекции Presentation.getSlides().
  • Для каждого объекта ISlide выполните цикл по коллекции IShape в нем.
  • Если IShape представляет собой VideoFrame, извлеките и сохраните встроенное видео.

В следующем примере кода показано, как извлечь видео из презентации PowerPoint с помощью Java.

// Загрузить презентацию
Presentation pres = new Presentation("VideoSample.pptx");
try {
    // Пролистывать слайды
    for (ISlide slide : pres.getSlides()) 
    {
        // Цикл по фигурам
        for (IShape shape : slide.getShapes()) 
        {
            if (shape instanceof VideoFrame) 
            {
                IVideoFrame vf = (IVideoFrame) shape;
                String type = vf.getEmbeddedVideo().getContentType();
                int ss = type.lastIndexOf('-');
                byte[] buffer = vf.getEmbeddedVideo().getBinaryData();

                //Получить расширение файла
                int charIndex = type.indexOf("/");
                type = type.substring(charIndex + 1);

                FileOutputStream fop = new FileOutputStream("testing2." + type);
                fop.write(buffer);
                fop.flush();
                fop.close();
            }
        }
    }
} catch (IOException e) {
} finally {
    if (pres != null) pres.dispose();
}

Получите бесплатную лицензию API

Вы можете использовать Aspose.Slides for Java без ограничений на пробную версию, запросив временную лицензию.

Вывод

В этой статье вы узнали, как встраивать видео в презентации PowerPoint с помощью Java. Более того, вы видели, как программно извлекать видео из презентации. Кроме того, вы можете посетить документацию, чтобы узнать больше об Aspose.Slides for Java. Кроме того, вы можете оставлять свои вопросы на нашем форуме.

Смотрите также

Информация: Aspose недавно разработала бесплатное веб-приложение MP4 to MP3, которое можно использовать для извлечения аудио из видеофайлов.