Articles in this section
Category / Section

How to create a PowerPoint file in ASP.NET Core?

2 mins read

Syncfusion Essential PowerPoint is a ASP.NET Core PowerPoint library used to create, read, and edit PowerPoint documents. Using this library, you can start creating a PowerPoint document in ASP.NET Core.

 

Steps to create PowerPoint file programmatically:

 

  1. Create a new C# ASP.NET Core Web Application project.

 

 

  1. Select Web Application pattern (Model-View-Controller) for the project.

 

Select Web application(Model-View-Controller)

 

  1. Install the Syncfusion.Presentation.Net.Core NuGet package as reference to your .NET Standard applications from NuGet.org.

 

  1. A default controller with named HomeController.cs gets added on creation of ASP.NET MVC project. Include the following namespaces in the HomeController.cs file.

 

using Syncfusion.Presentation;
using System.IO;

 

Imports Syncfusion.Presentation
Imports System.IO

 

  1. A default action method named Index will be present in HomeController.cs. Right click on Index method and select Go To View where you will be directed to its associated view page Index.cshtml.

 

  1. Add a new button in the Index.cshtml as shown below.

 

@{Html.BeginForm("CreateDocument", "Home", FormMethod.Get);
{
<div>
    <input type="submit" value="Create Document" style="width:150px;height:27px" />
</div>
}
Html.EndForm();
}

 

  1. Add a new action method CreateDocument in HomeController.cs and include the below code snippet to create a PowerPoint file and download it.

C#:

    //Creates a PowerPoint instance
    IPresentation pptxDoc = Presentation.Create();
 
    //Adds a slide to the PowerPoint presentation
    ISlide slide = pptxDoc.Slides.Add(SlideLayoutType.Blank);
 
    //Add a textbox to the slide
    IShape shape = slide.AddTextBox(10, 10, 500, 100);
 
    //Add a text to the textbox.
    shape.TextBody.AddParagraph("Hello World!!!");
 
    //Saving the PowerPoint to the MemoryStream 
    MemoryStream stream = new MemoryStream();
    pptxDoc.Save(stream);
 
    //Set the position as '0'.
    stream.Position = 0;
 
    //Download the PowerPoint file in the browser
    FileStreamResult fileStreamResult = new FileStreamResult(stream, "application/powerpoint");
    fileStreamResult.FileDownloadName = "Output.pptx";
    return fileStreamResult;

 

VB.Net:

    'Creates a PowerPoint instance.
    Dim pptxDoc As IPresentation = Presentation.Create()
 
    'Adds a slide to the PowerPoint presentation.
    Dim slide As ISlide = pptxDoc.Slides.Add(SlideLayoutType.Blank)
 
    'Add a textbox to the slide.
    Dim shape As IShape = slide.AddTextBox(10, 10, 500, 100)
 
    'Add a text to the textbox.
    shape.TextBody.AddParagraph("Hello World!!!")    
 
    'Saving the PowerPoint file to the Stream
    Dim fileStreamResult As FileStream = New FileStream("Output.pptx", FileMode.Create)
    pptxDoc.Save(fileStreamResult)

 

A complete working example of how to create a PowerPoint file in ASP.NET Core can be downloaded from Create-PowerPoint-file.zip.

 

By executing the program, you will get the PowerPoint file as follows.

 

Take a moment to peruse the documentation, where you can find basic slide manipulation options Working with slides, adding Charts in slide, organizing and analyzing data through Tables, and most importantly Image conversions etc., with code examples.

Refer here to explore the rich set of Syncfusion Essential Presentation features.

 

An online sample link to generate PowerPoint file.

See Also:

Create a PowerPoint file in ASP.NET MVC

Create a PowerPoint file in ASP.NET

Create a PowerPoint file in Windows Forms

Create a PowerPoint file in Xamarin

Create a PowerPoint file in WPF

Create a PowerPoint file in UWP

Note:

Starting with v16.2.0.x, if you reference Syncfusion assemblies from trial setup or from the NuGet feed, include a license key in your projects. Refer to link to learn about generating and registering Syncfusion license key in your application to use the components without trail message.

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments
Please  to leave a comment
Access denied
Access denied