Aspose.Slides for .NET is a comprehensive on-premise API that seamlessly integrates into your .NET applications and enhances their capabilities to make them work with Microsoft PowerPoint® and OpenDocument presentation file formats (PPT, PPTX, POT, POTX, PPS, PPSX, ODP, OTP, etc.). Without having to install a PowerPoint program or any 3rd party component, you can use Aspose.Slides to build different types of .NET applications, e.g., Windows Forms Apps, Windows Web Apps, as well as to deploy Web Services. For example, Aspose, using its own APIs, developed a free web application (https://products.aspose.app/slides/conversion/ppt-to-word) that allows people to convert their PPT files to Word online. Aspose.Slides for .NET can be used to create, edit, format, merge, split, save, render, print, and convert presentations. It can be used to work with presentation slides, content, design, security, properties, comments, notes, animations, and VBA macros. You can also work with the 3D aspects of PowerPoint presentations (rotation, depth, extrusion, gradient, WordArt). You can accurately convert your presentation files to numerous popular file formats, such as PDF, XPS, TIFF, HTML, etc. With Aspose.Slides for .NET, you can implement many complicated scenarios for managing tons of presentations. You get to merge and split presentations, clone and compare slides, work with multiple slide masters and layouts, modify presentation viewer and password-protection properties. You can manage tables, math equations, BLOBs, MSO charts, SmartArts, animations, audio/video frames, OLE objects, slides notes, and comments. Aspose.Slides for .NET supports operations with Microsoft PowerPoint (97 to 2019), MS PowerPoint for Mac, and Office 365. It can be used on any 32-bit or 64-bit OS, where .NET Framework, .NET Core, or Mono framework is available: MS Windows Desktop and Server editions, popular flavors of Linux, macOS X. COM Interop Support (COM, C++, VB.NET) is also available. Aspose.Slides for .NET can also be used on Azure and AWS.
$ dotnet add package Aspose.Slides.NET
Product Page | Docs | Demos | API Reference | Examples | Blog | Releases | Free Support | Temporary License
Aspose.Slides for .NET is a cross-platform API that helps in developing applications with the ability to create, manipulate, inspect, or convert Microsoft PowerPoint and OpenOffice presentation files without any dependency.
Without having to install a PowerPoint program or any 3rd party component, you can use Aspose.Slides to build different types of .NET applications, e.g., Windows Forms Apps, Windows Web Apps, as well as to deploy Web Services. For example, Aspose, using its own APIs, developed these free web applications for popular conversion processes: PowerPoint to Word, PowerPoint to PDF, and PowerPoint to JPG.
Aspose.Slides for .NET requires you to use .NET programming languages. For C++, Java and Python languages, we recommend you get Aspose.Slides for C++, Aspose.Slides for Java and Aspose.Slides for Python via .NET, respectively.
Microsoft PowerPoint: PPT, POT, PPS, PPTX, POTX, PPSX, PPTM, PPSM, POTM
OpenDocument: ODP, OTP
Metafile: EMF
Image: TIFF, XML
Fixed Layout: PDF, XPS
Image: JPEG, PNG, GIF, BMP, SVG
Web: HTML, CSS, JS
Video: MP4, WEBM, AVI
Aspose.Slides for .NET can be used to build any type of 32-bit or 64-bit .NET application including ASP.NET, WCF & WinForms as well as via COM Interop while using diverse programming languages including C++, VBScript & classic ASP. The package provides assemblies to be used with Mono on various flavors of Linux, .NET Core, Xamarin.Android.
Let's give Aspose.Slides for .NET a try! Simply execute Install-Package Aspose.Slides.NET from Package Manager Console in Visual Studio to fetch the NuGet package. If you already have Aspose.Slides for .NET and want to upgrade the version, please execute Update-Package Aspose.Slides.NET to get the latest version.
You can execute the below code snippet to see how Aspose.Slides API performs in your environment or check the GitHub Repository for other common usage scenarios.
// instantiate a Presentation object that represents a presentation file
using (Presentation presentation = new Presentation())
{
// get the first slide
ISlide slide = presentation.Slides[0];
// add an autoshape of type line
slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0);
presentation.Save(dir + "output.pptx", SaveFormat.Pptx);
}
// instantiate a Presentation object that represents a presentation file
using (Presentation presentation = new Presentation(dir + "template.pptx"))
{
// setting array of slides positions
int[] slides = { 1, 3 };
// save the presentation to PDF
presentation.Save(dir + "output.pdf", slides, SaveFormat.Pdf);
}
Use Aspose.Slides alongside a third-party utility (FFMpegCore) to generate frames from your presentation and convert those frames to a video.
dotnet add package Aspose.Slides.NETdotnet add package FFMpegCore --version 4.8.0GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );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.
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());
}
Animations and effects in the presentation are exported to video.
Product Page | Docs | Demos | API Reference | Examples | Blog | Releases | Free Support | Temporary License