Converteer PPT naar video in Java

Krachtige cross-platform Java API voor het converteren van PowerPoint naar video met behulp van Java-code

Converteer PowerPoint naar video met behulp van Aspose.Slides

Aspose.Slides voor Java is een krachtige Java-bibliotheek die wordt gebruikt voor het maken, bewerken en manipuleren van presentaties en ook voor het converteren van PowerPoint-presentaties naar andere documenten en video’s . In dit geval moet u Aspose.Slides naast ffmpeg gebruiken om PowerPoint naar video te converteren.

Dit is hoe het conversieproces van PPT naar video werkt: Aspose.Slides wordt gebruikt om een ​​set frames te genereren (van de presentatiedia’s) en vervolgens wordt FFMpegCore (ffmpeg) gebruikt om een ​​video te maken op basis van de frames.

Hoe PPT naar video te converteren

  1. Installeer Aspose.Slides voor Java door de instructies hier te volgen. Download ffmpeg hier.

  2. Voeg dit toe aan je POM-bestand:

       <afhankelijkheid>
         <groupId>net.bramp.ffmpeg</groupId>
         <artifactId>ffmpeg</artifactId>
         <versie>0.7.0</versie>
       </afhankelijkheid>
    

  3. Kopieer, plak en voer de Java PowerPoint-naar-videocode uit.

Converteer PowerPoint naar video in Java

Gebruik deze Java-code om PPT naar video te converteren:

Java-code voor het converteren van PowerPoint naar video


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();
}

Andere ondersteunde conversies

U kunt PowerPoint ook converteren naar bestanden in andere formaten