تبدیل PPTX به ویدیو در سی شارپ

API قدرتمند کراس پلتفرم دات نت برای تبدیل پاورپوینت به ویدیو با استفاده از کد سی شارپ در NET Framework، .NET Core، Windows Azure، Mono یا Xamarin

با استفاده از Aspose.Slides پاورپوینت را به ویدیو تبدیل کنید

Aspose.Slides for .NET یک کتابخانه قدرتمند دات نت است که برای ایجاد، ویرایش و دستکاری ارائه ها و همچنین تبدیل ارائه های پاورپوینت به اسناد دیگر استفاده می شود. و فیلم ها در این مورد، برای تبدیل پاورپوینت به ویدیو، باید از 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 را [از اینجا] دانلود کنید ( https://ffmpeg.org/download.html )

  3. FFMpegCore از شما می‌خواهد که مسیر ffmpeg دانلود شده را مشخص کنید (به عنوان مثال استخراج شده در “C:\tools\ffmpeg”): GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );

  4. پاورپوینت را کپی، پیست و سپس روی کد ویدیو اجرا کنید.

تبدیل پاورپوینت به ویدیو در سی شارپ

برای تبدیل PPTX به ویدیو از این کد استفاده کنید:

کد سی شارپ برای تبدیل پاورپوینت به ویدیو


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

}

سایر تبدیل های پشتیبانی شده

همچنین می توانید پاورپوینت را به فایل هایی با فرمت های دیگر تبدیل کنید