Konwertuj PPTX na wideo w Javie
Potężny wieloplatformowy interfejs Java API do konwersji programu PowerPoint na wideo przy użyciu kodu Java
Konwertuj PowerPoint na wideo za pomocą Aspose.Slides
Aspose.Slides for Java to potężna biblioteka Java używana do tworzenia, edytowania i manipulowania prezentacjami, a także konwertowania prezentacji programu PowerPoint na inne dokumenty i filmy . W takim przypadku, aby przekonwertować PowerPoint na wideo, musisz użyć Aspose.Slides wraz z ffmpeg.
Oto jak działa proces konwersji PPTX na wideo: Aspose.Slides służy do generowania zestawu klatek (ze slajdów prezentacji), a następnie FFMpegCore (ffmpeg) jest używany do tworzenia wideo na podstawie klatek.
Jak przekonwertować PPTX na wideo
Zainstaluj Aspose.Slides for Java, postępując zgodnie z instrukcjami tutaj . Pobierz ffmpeg tutaj.
Dodaj to do swojego pliku POM:
<zależność> <groupId>net.bramp.ffmpeg</groupId> <artifactId>ffmpeg</artifactId> <wersja>0.7.0</wersja> </zależność>
Skopiuj, wklej, a następnie uruchom Java PowerPoint do kodu wideo.
Konwertuj PowerPoint na wideo w Javie
Użyj tego kodu Java, aby przekonwertować PPTX na wideo:
Kod Java do konwersji programu PowerPoint na wideo
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();
}
Inne obsługiwane konwersje
Możesz także konwertować PowerPoint do plików w innych formatach