Javaを使用してPowerPointにビデオを埋め込む

PowerPointプレゼンテーションには、何かをデモンストレーションしたり、聴衆を引き付けるためのビデオフレームが含まれていることがよくあります。多くの場合、ビデオは時間を節約し、プレゼンテーションを効果的にするために使用されます。この記事では、PowerPointファイルのビデオをプログラムで操作する方法を学習します。特に、この記事では、Javaを使用してPowerPointプレゼンテーションにビデオを埋め込んだり抽出したりする方法について説明します。

PowerPointプレゼンテーションにビデオを埋め込むためのJavaAPI

PowerPointプレゼンテーションにビデオを埋め込んだり抽出したりするには、Aspose.Slides for Javaを使用します。 APIは、PowerPointおよびOpenOfficeドキュメントを作成および操作するように設計されています。 APIのJARをダウンロードするか、次の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>

Javaを使用してPowerPointプレゼンテーションにビデオを埋め込む

以下は、Javaを使用してPowerPointプレゼンテーションにビデオを埋め込む手順です。

次のコードサンプルは、Javaを使用してPowerPointプレゼンテーションにビデオを埋め込む方法を示しています。

// プレゼンテーションを読み込むか、新しいプレゼンテーションを作成します
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を使用してWebソースからビデオを埋め込む

WebソースからPowerPointプレゼンテーションにビデオを埋め込むこともできます。これを実現するための手順は次のとおりです。

  • まず、PowerPointファイルをロードするか、Presentationクラスを使用して新しいファイルを作成します。
  • 次に、ISlideオブジェクトで目的のスライドの参照を取得します。
  • ISlide.getShapes().addVideoFrame(single, single, single, single, String)メソッドでビデオのURLを指定して、スライドに新しいビデオフレームを追加します。
  • ビデオフレームの参照をIVideoFrameオブジェクトに取得します。
  • ビデオの再生モードと音量を設定します。
  • ビデオのサムネイルを設定します。
  • 最後に、Presentation.save(String, SaveFormat)メソッドを使用してプレゼンテーションを保存します。

次のコードサンプルは、Webソースからプレゼンテーションにビデオを埋め込む方法を示しています。

// プレゼンテーションを作成するか、既存のプレゼンテーションをロードします
Presentation pres = new Presentation("presentation");
try {
      // videoFrameを追加します
      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().get_Picture().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();
}

JavaでPowerPointプレゼンテーションからビデオを抽出する

Aspose.Slides for Javaでは、プレゼンテーションからビデオを抽出することもできます。以下は、これを実現するための簡単な手順です。

  • まず、Presentationクラスを使用してPowerPointファイルをロードします。
  • 次に、Presentation.getSlides()コレクションの各ISlideをループします。
  • ISlideオブジェクトごとに、その中のIShapeのコレクションをループします。
  • IShapeがVideoFrameの場合は、埋め込まれたビデオを抽出して保存します。

次のコードサンプルは、Javaを使用してPowerPointプレゼンテーションからビデオを抽出する方法を示しています。

// プレゼンテーションを読み込む
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を使用できます。

結論

この記事では、Javaを使用してPowerPointプレゼンテーションにビデオを埋め込む方法を学習しました。さらに、プログラムでプレゼンテーションからビデオを抽出する方法を見てきました。これに加えて、ドキュメントにアクセスして、Aspose.Slides for Javaの詳細を調べることができます。また、フォーラムにクエリを投稿することもできます。

関連項目

情報:Asposeは最近、ビデオファイルからオーディオを抽出するために使用できる無料のMP4からMP3Webアプリを開発しました。