PPTX konvertálása videóvá C# nyelven

Hatékony, többplatformos .NET API a PowerPoint videóvá konvertálásához C# kóddal NET Framework, .NET Core, Windows Azure, Mono vagy Xamarin platformokon

A PowerPoint konvertálása videóvá az Aspose.Slides segítségével

Aspose.Slides for .NET egy hatékony .NET-könyvtár, amely prezentációk létrehozására, szerkesztésére és manipulálására, valamint PowerPoint-prezentációk más dokumentumokká konvertálására szolgál. és videókat. Ebben az esetben a PowerPoint videóvá alakításához az Aspose.Slides fájlt kell használnia az ffmpeg és az FFMpegCore (egy ingyenes NET ffmpeg burkoló) mellett.

Így működik a PPTX videóvá konvertálási folyamata: Az Aspose.Slides segítségével képkockák készletet generálnak (a prezentációs diákból), majd az FFMpegCore (ffmpeg) segítségével a képkockák alapján videót készítenek.

Hogyan lehet PPTX-et videóvá konvertálni

  1. Az Aspose.Slides for .NET és FFMpegcore telepítése: Futtassa a dotnet add csomag Aspose.Slides.NET --verzió 22.12.0 parancsot, majd futtassa a dotnet add package FFMpegCore --version 4.8.0 parancsot.

  2. Az ffmpeg letöltése itt

  3. Az FFMpegCore megköveteli a letöltött ffmpeg elérési útját (pl. „C:\tools\ffmpeg”): GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );

  4. Másolja, illessze be, majd futtassa a PowerPoint videókódot.

A PowerPoint konvertálása videóvá C# nyelven

Használja ezt a kódot a PPTX videóvá konvertálásához:

C# kód a PowerPoint videóvá konvertálásához


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

}

Egyéb támogatott konverziók

A PowerPointot más formátumú fájlokká is konvertálhatja