PPT’yi C# dilinde videoya dönüştürün

NET Framework, .NET Core, Windows Azure, Mono veya Xamarin Platformlarında C# kodunu kullanarak PowerPoint’i videoya dönüştürmek için güçlü çapraz platform .NET API’si

Aspose.Slides kullanarak PowerPoint'i videoya dönüştürün

Aspose.Slides for .NET , sunumlar oluşturmak, düzenlemek ve değiştirmek ve ayrıca PowerPoint sunumlarını diğer belgelere dönüştürmek için kullanılan güçlü bir .NET kitaplığıdır. ve videolar. Bu durumda, PowerPoint’i videoya dönüştürmek için ffmpeg ve FFMpegCore (ücretsiz bir NET ffmpeg sarıcı) ile birlikte Aspose.Slides kullanmanız gerekir.

PPT’den videoya dönüştürme işlemi şu şekilde çalışır: Aspose.Slides, bir dizi kare (sunum slaytlarından) oluşturmak için kullanılır ve ardından FFMpegCore (ffmpeg), karelere dayalı bir video oluşturmak için kullanılır.

PPT'i videoya dönüştürme

  1. Aspose.Slides for .NET ve FFMpegcore‘u kurun: “dotnet add package Aspose.Slides.NET –version 22.12.0” çalıştırın ve sonra “dotnet add package FFMpegCore –version 4.8.0” çalıştırın

  2. Ffmpeg’i [buradan] indirin( https://ffmpeg.org/download.html )

  3. FFMpegCore, indirilen ffmpeg’in yolunu belirtmenizi gerektirir (örn. “C:\tools\ffmpeg” konumuna çıkarılır): GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );

  4. PowerPoint to video kodunu kopyalayın, yapıştırın ve çalıştırın.

C# ile PowerPoint'i videoya dönüştürün

PPT’yi videoya dönüştürmek için bu kodu kullanın:

PowerPoint'i videoya dönüştürmek için C# kodu


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

}

Desteklenen Diğer Dönüşümler

PowerPoint'i başka biçimlerdeki dosyalara da dönüştürebilirsiniz.