Convertir PPT en vidéo en C#
Puissante API .NET multiplateforme pour convertir PowerPoint en vidéo à l’aide de code C# sur les plates-formes NET Framework, .NET Core, Windows Azure, Mono ou Xamarin
Convertir PowerPoint en vidéo à l'aide d'Aspose.Slides
Aspose.Slides pour .NET est une puissante bibliothèque .NET utilisée pour créer, éditer et manipuler des présentations et également convertir des présentations PowerPoint en d’autres documents et vidéos. Dans ce cas, pour convertir PowerPoint en vidéo, vous devez utiliser ** Aspose.Slides ** avec ** ffmpeg ** et ** FFMpegCore ** (un wrapper NET ffmpeg gratuit).
Voici comment fonctionne le processus de conversion PPT en vidéo : Aspose.Slides est utilisé pour générer un ensemble d’images (à partir des diapositives de présentation), puis FFMpegCore (ffmpeg) est utilisé pour créer une vidéo basée sur les images.
Comment convertir PPT en vidéo
Installez Aspose.Slides pour .NET et FFMPegcore : exécutez
dotnet add package Aspose.Slides.NET --version 22.12.0
puis exécutezdotnet add package FFMpegCore --version 4.8.0
Téléchargez ffmpeg ici.
FFMpegCore vous demande de spécifier le chemin d’accès au ffmpeg téléchargé (par exemple, extrait vers “C:\tools\ffmpeg”) :
GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );
Copiez, collez, puis exécutez le code PowerPoint vers vidéo.
Convertir PowerPoint en vidéo en C#
Utilisez ce code pour convertir PPT en vidéo :
Code C# pour convertir PowerPoint en vidéo
using System.Collections.Generic;
using Aspose.Slides;
using FFMpegCore; // Will use FFmpeg binaries we extracted to "c:\tools\ffmpeg" before
using Aspose.Slides.Animation;
using (Presentation presentation = new Presentation())
{
// Adds a smile shape and then animates it
IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500);
IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious);
IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious);
effectIn.Timing.Duration = 2f;
effectOut.PresetClassType = EffectPresetClassType.Exit;
const int Fps = 33;
List<string> frames = new List<string>();
using (var animationsGenerator = new PresentationAnimationsGenerator(presentation))
using (var player = new PresentationPlayer(animationsGenerator, Fps))
{
player.FrameTick += (sender, args) =>
{
string frame = $"frame_{(sender.FrameIndex):D4}.png";
args.GetFrame().Save(frame);
frames.Add(frame);
};
animationsGenerator.Run(presentation.Slides);
}
// Configure ffmpeg binaries folder. See this page: https://github.com/rosenbjerg/FFMpegCore#installation
GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", });
// Converts frames to webm video
FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray());
}
Autres conversions prises en charge
Vous pouvez également convertir PowerPoint en fichiers dans d'autres formats