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

  1. Installez Aspose.Slides pour .NET et FFMPegcore : exécutez dotnet add package Aspose.Slides.NET --version 22.12.0 puis exécutez dotnet add package FFMpegCore --version 4.8.0

  2. Téléchargez ffmpeg ici.

  3. 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",} );

  4. 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