Java で PPTX をビデオに変換する

Java コードを使用して PowerPoint をビデオに変換するための強力なクロスプラットフォーム Java API

Aspose.Slides を使用して PowerPoint をビデオに変換する

Aspose.Slides for Java は、プレゼンテーションを作成、編集、操作したり、PowerPoint プレゼンテーションを他のドキュメントやビデオに変換したりするために使用される強力な Java ライブラリです。 。この場合、PowerPoint をビデオに変換するには、ffmpeg とともに Aspose.Slides を使用する必要があります。

これは、PPTX からビデオへの変換プロセスの仕組みです。Aspose.Slides を使用して (プレゼンテーション スライドから) 一連のフレームを生成し、次に FFMpegCore (ffmpeg) を使用してフレームに基づいてビデオを作成します。

PPTXをビデオに変換する方法

  1. こちら の手順に従って Aspose.Slides for Java をインストールします。 ffmpeg ここから をダウンロードします。

  2. これを POM ファイルに追加します。

    「」 <依存関係> net.bramp.ffmpeg ffmpeg <バージョン>0.7.0</バージョン> </依存関係> 「」

  3. Java PowerPoint to video コードをコピーして貼り付け、実行します。

Java で PowerPoint をビデオに変換する

次の Java コードを使用して、PPTX をビデオに変換します。

PowerPoint をビデオに変換するための Java コード


Presentation presentation = new Presentation();
try {
    // Adds a smile shape and then animates it
    IAutoShape smile = presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500);
    ISequence mainSequence = presentation.getSlides().get_Item(0).getTimeline().getMainSequence();
    IEffect effectIn = mainSequence.addEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious);
    IEffect effectOut = mainSequence.addEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious);
    effectIn.getTiming().setDuration(2f);
    effectOut.setPresetClassType(EffectPresetClassType.Exit);

    final int fps = 33;
    ArrayList<String> frames = new ArrayList<String>();

    PresentationAnimationsGenerator animationsGenerator = new PresentationAnimationsGenerator(presentation);
    try
    {
        PresentationPlayer player = new PresentationPlayer(animationsGenerator, fps);
        try {
            player.setFrameTick((sender, arguments) ->
            {
                try {
                    String frame = String.format("frame_%04d.png", sender.getFrameIndex());
                    ImageIO.write(arguments.getFrame(), "PNG", new java.io.File(frame));
                    frames.add(frame);
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            });
            animationsGenerator.run(presentation.getSlides());
        } finally {
            if (player != null) player.dispose();
        }
    } finally {
        if (animationsGenerator != null) animationsGenerator.dispose();
    }

    // Configure ffmpeg binaries folder. See this page: https://github.com/rosenbjerg/FFMpegCore#installation
    FFmpeg ffmpeg = new FFmpeg("path/to/ffmpeg");
    FFprobe ffprobe = new FFprobe("path/to/ffprobe");

    FFmpegBuilder builder = new FFmpegBuilder()
            .addExtraArgs("-start_number", "1")
            .setInput("frame_%04d.png")
            .addOutput("output.avi")
            .setVideoFrameRate(FFmpeg.FPS_24)
            .setFormat("avi")
            .done();

    FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe);
    executor.createJob(builder).run();
} catch (IOException e) {
    e.printStackTrace();
}

その他のサポートされている変換

PowerPoint を他の形式のファイルに変換することもできます