Μετατροπή PPTX σε βίντεο σε C#

Ισχυρό cross-platform .NET API για μετατροπή PowerPoint σε βίντεο με χρήση κώδικα C# σε πλατφόρμες NET Framework, .NET Core, Windows Azure, Mono ή Xamarin

Μετατρέψτε το PowerPoint σε βίντεο χρησιμοποιώντας το Aspose.Slides

Το Aspose.Slides for .NET είναι μια ισχυρή βιβλιοθήκη .NET που χρησιμοποιείται για τη δημιουργία, επεξεργασία και χειρισμό παρουσιάσεων και επίσης μετατροπή παρουσιάσεων PowerPoint σε άλλα έγγραφα και βίντεο. Σε αυτήν την περίπτωση, για να μετατρέψετε το PowerPoint σε βίντεο, πρέπει να χρησιμοποιήσετε το Aspose.Slides μαζί με το ffmpeg και το FFMpegCore (ένα δωρεάν περιτύλιγμα NET ffmpeg).

Έτσι λειτουργεί η διαδικασία μετατροπής PPTX σε βίντεο: Το Aspose.Slides χρησιμοποιείται για τη δημιουργία ενός συνόλου καρέ (από τις διαφάνειες της παρουσίασης) και στη συνέχεια το FFMpegCore (ffmpeg) για τη δημιουργία ενός βίντεο με βάση τα καρέ.

Πώς να μετατρέψετε το PPTX σε βίντεο

  1. Εγκαταστήστε το Aspose.Slides για .NET και FFMpegcore: Εκτελέστε το “dotnet add package Aspose.Slides.NET –version 22.12.0” και, στη συνέχεια, εκτελέστε το “dotnet add package FFMpegCore –έκδοση 4.8.0”

  2. Κατεβάστε το ffmpeg εδώ.

  3. Το FFMpegCore απαιτεί να καθορίσετε τη διαδρομή προς το κατεβασμένο ffmpeg (π.χ. εξαγωγή στο “C:\tools\ffmpeg”): GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );

  4. Αντιγράψτε, επικολλήστε και, στη συνέχεια, εκτελέστε τον κώδικα του PowerPoint σε βίντεο.

Μετατροπή PowerPoint σε βίντεο σε C#

Χρησιμοποιήστε αυτόν τον κωδικό για να μετατρέψετε το PPTX σε βίντεο:

Κωδικός C# για τη μετατροπή του PowerPoint σε βίντεο


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

}

Άλλες υποστηριζόμενες μετατροπές

Μπορείτε επίσης να μετατρέψετε το PowerPoint σε αρχεία σε άλλες μορφές