Open and save PowerPoint in Azure App Service on Linux

3 Aug 20264 minutes to read

Syncfusion® PowerPoint is a .NET Core PowerPoint library used to create, read, edit and convert PowerPoint documents programmatically without Microsoft PowerPoint or interop dependencies. Using this library, you can open and save a PowerPoint in Azure App Service on Linux.

Steps to Open and save PowerPoint in Azure App Service on Linux

Step 1: Create a new ASP.NET Core Web App (Model-View-Controller)
Create an ASP.NET Core Web App project

Step 2: Create a project name and select the location.
Configure your new project

Step 3: Click Create button.
Additional Information

Step 4: Install the Syncfusion.Presentation.Net.Core NuGet package as a reference to your project from NuGet.org.

Install Syncfusion.Presentation.Net.Core Nuget Package

Starting with v16.2.0.x, if you reference Syncfusion® assemblies from trial setup or from the NuGet feed, you also have to add “Syncfusion.Licensing” assembly reference and include a license key in your projects. Please refer to this link to know about registering Syncfusion® license key in your application to use our components.

Step 5: Add a new button to Index.cshtml as shown below.

@{
    Html.BeginForm("OpenAndSavePowerPoint", "Home", FormMethod.Get);
    {
        <div>
            <input type="submit" value="Open and Save PowerPoint" style="width:220px;height:27px" />
        </div>
    }
    Html.EndForm();
}

Step 6: Include the following namespaces in HomeController.cs.

using Syncfusion.Presentation;
using System.IO;
using Microsoft.AspNetCore.Hosting;

Step 7: Inject IWebHostEnvironment into the HomeController constructor and add a new action method OpenAndSavePowerPoint with the following code to open the existing presentation, modify a shape’s text, and stream the result back to the browser.

private readonly IWebHostEnvironment _hostingEnvironment;

public HomeController(IWebHostEnvironment hostingEnvironment)
{
    _hostingEnvironment = hostingEnvironment;
}

public IActionResult OpenAndSavePowerPoint()
{
    //Open an existing PowerPoint presentation using the file path overload.
    string pptxPath = Path.Combine(_hostingEnvironment.WebRootPath, "Data/Template.pptx");
    using IPresentation pptxDoc = Presentation.Open(pptxPath);

    //Get the first slide from the PowerPoint presentation.
    ISlide slide = pptxDoc.Slides[0];
    //Get the first shape of the slide.
    IShape shape = slide.Shapes[0] as IShape;
    //Change the text of the shape.
    if (shape != null && shape.TextBody.Text == "Company History")
        shape.TextBody.Text = "Company Profile";

    //Save the PowerPoint presentation to a memory stream.
    MemoryStream pptxStream = new();
    pptxDoc.Save(pptxStream);
    pptxStream.Position = 0;
    //Download the PowerPoint document in the browser.
    return File(pptxStream, "application/vnd.openxmlformats-officedocument.presentationml.presentation", "Result.pptx");
}

Steps to publish as Azure App Service on Linux

Step 1: Right-click the project and select the Publish option.
Right-click the project and select the Publish option

Step 2: Click the Add a Publish Profile button.
Click the Add a Publish Profile

Step 3: Select the publish target as Azure.
Select the publish target as Azure

Step 4: Select the Specific target as Azure App Service (Linux).
Select the publish target

Step 5: To create a new app service, click the Create new option.
Click create new option

Step 6: Click the Create button to proceed with App Service creation.
Click the Create button

Step 7: Click the Finish button to finalize the App Service creation.
Click the Finish button

Step 8: Click the Close button.
Create a ASP.NET Core Project

Step 9: Click the Publish button.
Click the Publish button

Step 10: Now, Publish has been succeeded.
Publish has been succeeded

Step 11: The published webpage opens in the browser at /Home/OpenAndSavePowerPoint.
Browser will open after publish

Step 12: Click the Open and Save PowerPoint button. You will get the output PowerPoint document as follows.

Open and save PowerPoint in Azure App Service on Linux

You can download a complete working sample from GitHub.

Looking for the full .NET PowerPoint Library component overview, features, pricing, and documentation? Visit the .NET PowerPoint Library page.