Convert PowerPoint to Image in .NET MAUI

20 Feb 202516 minutes to read

Syncfusion® PowerPoint is a .NET MAUI PowerPoint library used to create, read, edit and convert PowerPoint presentation programmatically without Microsoft PowerPoint or interop dependencies. Using this library, you can convert a PowerPoint to image in .NET MAUI.

Steps to convert PowerPoint to Image programmatically

Prerequisites:

  • Visual Studio 2022.
  • Install .NET 8 SDK or later.
  • For more details about installation, refer here.

Step 1: Create a new C# .NET MAUI app. Select .NET MAUI App (Preview) from the template and click the Next button.

Create the MAUI app in Visual Studio

Step 2: Enter the project name and click Create.

Create a project name for your new project

Step 3: Install the Syncfusion.PresentationRenderer.NET NuGet package as a reference to your project from NuGet.org.

Install Syncfusion.PresentationRenderer.NET NuGet package

NOTE

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 4: Add a new button to the MainPage.xaml as shown below.

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="Convert_PowerPoint_Presentation_to_Image.MainPage">

    <ScrollView>
        <Grid RowSpacing="25" RowDefinitions="Auto,Auto,Auto,Auto,*"
            Padding="{OnPlatform iOS='30,60,30,30', Default='30'}">
            <Button 
                Text="Convert PPTX to Image"
                FontAttributes="Bold"
                Grid.Row="0"
                SemanticProperties.Hint="Convert PPTX to Image"
                Clicked="ConvertPPTXtoImage"
                HorizontalOptions="Center" />
        </Grid>
    </ScrollView>
</ContentPage>

Step 5: Include the following namespaces in the MainPage.xaml.cs file.

using Syncfusion.Presentation;
using Syncfusion.PresentationRenderer;

Step 6: Add a new action method ConvertPPTXtoImage in MainPage.xaml.cs and include the below code snippet to convert a PowerPoint to Image in .NET MAUI.

//Loading an existing PowerPoint presentation.
Assembly assembly = typeof(App).GetTypeInfo().Assembly;
//Open the existing PowerPoint presentation with loaded stream.
using (IPresentation pptxDoc = Presentation.Open(assembly.GetManifestResourceStream("Convert_PowerPoint_Presentation_to_Image.Assets.Input.pptx")))
{
    //Initialize the PresentationRenderer.
    pptxDoc.PresentationRenderer = new PresentationRenderer();
    //Converts the first slide into image.
    Stream stream= pptxDoc.Slides[0].ConvertToImage(ExportImageFormat.Jpeg);
    //Reset the stream position.
    stream.Position = 0;
    //save and Launch the image file.
    SaveService saveService = new();
    saveService.SaveAndView("PPTXtoImage.Jpeg", "application/jpeg", stream as MemoryStream);
}

Step 7: Run the Application.

  1. Select the target framework, device or emulator.
  2. Press F5 to run the application.

You can download a complete working sample from GitHub.

By executing the program, you will get the image as follows.

PowerPoint to Image on macOS

Helper files for .NET MAUI

Refer the below helper files and add them into the mentioned project. These helper files allow you to save the stream as a physical file and open the file for viewing.

Folder Name File Name Summary

.NET MAUI Project

SaveService.cs

Represent the base class for save operation.

Windows

SaveWindows.cs

Save implementation for Windows.

Android

SaveAndroid.cs

Save implementation for Android device.

Mac Catalyst

SaveMac.cs

Save implementation for Mac Catalyst device.

iOS

SaveIOS.cs

Save implementation for iOS device

PreviewControllerDS.cs


QLPreviewItemFileSystem.cs

Helper classes for viewing the PowerPoint Presenatation in iOS device

Prerequisites:

Step 1: Create a new C# .NET MAUI app project.

  • Open the command palette by pressing Ctrl+Shift+P and type .NET:New Project and enter.
  • Choose the .NET MAUI App template.

Choose .NET MAUI app from template

  • Select the project location, type the project name and press enter.
  • Then choose Create project.

Step 2: To convert a PowerPoint document to image in .NET MAUI app, install Syncfusion.PresentationRenderer.NET.Core to the MAUI project.

  • Press Ctrl + ` (backtick) to open the integrated terminal in Visual Studio Code.
  • Ensure you’re in the project root directory where your .csproj file is located.
  • Run the command dotnet add package Syncfusion.PresentationRenderer.NET.Core to install the NuGet package.

Add Syncfusion.PresentationRenderer.NET.Core NuGet package

NOTE

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 3: Add a new button to the MainPage.xaml as shown below.

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="Convert_PowerPoint_Presentation_to_Image.MainPage">

    <ScrollView>
        <Grid RowSpacing="25" RowDefinitions="Auto,Auto,Auto,Auto,*"
            Padding="{OnPlatform iOS='30,60,30,30', Default='30'}">
            <Button 
                Text="Convert PPTX to Image"
                FontAttributes="Bold"
                Grid.Row="0"
                SemanticProperties.Hint="Convert PPTX to Image"
                Clicked="ConvertPPTXtoImage"
                HorizontalOptions="Center" />
        </Grid>
    </ScrollView>
</ContentPage>

Step 4: Include the following namespaces in the MainPage.xaml.cs file.

using Syncfusion.Presentation;
using Syncfusion.PresentationRenderer;

Step 5: Add a new action method ConvertPPTXtoImage in MainPage.xaml.cs and include the below code snippet to convert a PowerPoint to Image in .NET MAUI.

//Loading an existing PowerPoint presentation.
Assembly assembly = typeof(App).GetTypeInfo().Assembly;
//Open the existing PowerPoint presentation with loaded stream.
using (IPresentation pptxDoc = Presentation.Open(assembly.GetManifestResourceStream("Convert_PowerPoint_Presentation_to_Image.Assets.Input.pptx")))
{
    //Initialize the PresentationRenderer.
    pptxDoc.PresentationRenderer = new PresentationRenderer();
    //Converts the first slide into image.
    Stream stream= pptxDoc.Slides[0].ConvertToImage(ExportImageFormat.Jpeg);
    //Reset the stream position.
    stream.Position = 0;
    //save and Launch the image file.
    SaveService saveService = new();
    saveService.SaveAndView("PPTXtoImage.Jpeg", "application/jpeg", stream as MemoryStream);
}

Step 6: Run the Application.

  1. Select the target framework, device or emulator.
  2. Press F5 to run the application.

You can download a complete working sample from GitHub.

By executing the program, you will get the image as follows.

PowerPoint to Image on macOS

Helper files for .NET MAUI

Refer the below helper files and add them into the mentioned project. These helper files allow you to save the stream as a physical file and open the file for viewing.

Folder Name File Name Summary

.NET MAUI Project

SaveService.cs

Represent the base class for save operation.

Windows

SaveWindows.cs

Save implementation for Windows.

Android

SaveAndroid.cs

Save implementation for Android device.

Mac Catalyst

SaveMac.cs

Save implementation for Mac Catalyst device.

iOS

SaveIOS.cs

Save implementation for iOS device

PreviewControllerDS.cs


QLPreviewItemFileSystem.cs

Helper classes for viewing the PowerPoint Presenatation in iOS device

Prerequisites:

  • JetBrains Rider.
  • Install .NET 8 SDK or later.
  • For more details about installation, refer here.

Step 1. Open JetBrains Rider and create a new .NET MAUI App project.

  • Launch JetBrains Rider.
  • Click New solution on the welcome screen.

Launch JetBrains Rider

  • In the New Solution dialog, select Project Type as MAUI.
  • Select the target framework (e.g., .NET 8.0, .NET 9.0).
  • Choose Type as App.
  • Enter a project name and specify the location.
  • Click create.

Creating a new .NET MAUI App in JetBrains Rider

Step 2: Install the NuGet package from NuGet.org.

  • Click the NuGet icon in the Rider toolbar and type Syncfusion.PresentationRenderer.Net.Core in the search bar.
  • Ensure that nuget.org is selected as the package source.
  • Select the latest Syncfusion.PresentationRenderer.Net.Core NuGet package from the list.
  • Click the + (Add) button to add the package.

Select the Syncfusion.PresentationRenderer.Net.Core NuGet package

  • Click the Install button to complete the installation.

Install the Syncfusion.PresentationRenderer.Net.Core NuGet package

NOTE

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 3: Add a new button to the MainPage.xaml as shown below.

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="Convert_PowerPoint_Presentation_to_Image.MainPage">

    <ScrollView>
        <Grid RowSpacing="25" RowDefinitions="Auto,Auto,Auto,Auto,*"
            Padding="{OnPlatform iOS='30,60,30,30', Default='30'}">
            <Button 
                Text="Convert PPTX to Image"
                FontAttributes="Bold"
                Grid.Row="0"
                SemanticProperties.Hint="Convert PPTX to Image"
                Clicked="ConvertPPTXtoImage"
                HorizontalOptions="Center" />
        </Grid>
    </ScrollView>
</ContentPage>

Step 4: Include the following namespaces in the MainPage.xaml.cs file.

using Syncfusion.Presentation;
using Syncfusion.PresentationRenderer;

Step 5: Add a new action method ConvertPPTXtoImage in MainPage.xaml.cs and include the below code snippet to convert a PowerPoint to Image in .NET MAUI.

//Loading an existing PowerPoint presentation.
Assembly assembly = typeof(App).GetTypeInfo().Assembly;
//Open the existing PowerPoint presentation with loaded stream.
using (IPresentation pptxDoc = Presentation.Open(assembly.GetManifestResourceStream("Convert_PowerPoint_Presentation_to_Image.Assets.Input.pptx")))
{
    //Initialize the PresentationRenderer.
    pptxDoc.PresentationRenderer = new PresentationRenderer();
    //Converts the first slide into image.
    Stream stream= pptxDoc.Slides[0].ConvertToImage(ExportImageFormat.Jpeg);
    //Reset the stream position.
    stream.Position = 0;
    //save and Launch the image file.
    SaveService saveService = new();
    saveService.SaveAndView("PPTXtoImage.Jpeg", "application/jpeg", stream as MemoryStream);
}

Step 6: Build the project.

Click the Build button in the toolbar or press Ctrl+Shift+B to build the project.

Step 7: Run the project.

Select the target platform in the Run configuration dropdown, then click Run.

You can download a complete working sample from GitHub.

By executing the program, you will get the image as follows.

PowerPoint to Image on macOS

Helper files for .NET MAUI

Refer the below helper files and add them into the mentioned project. These helper files allow you to save the stream as a physical file and open the file for viewing.

Folder Name File Name Summary

.NET MAUI Project

SaveService.cs

Represent the base class for save operation.

Windows

SaveWindows.cs

Save implementation for Windows.

Android

SaveAndroid.cs

Save implementation for Android device.

Mac Catalyst

SaveMac.cs

Save implementation for Mac Catalyst device.

iOS

SaveIOS.cs

Save implementation for iOS device

PreviewControllerDS.cs


QLPreviewItemFileSystem.cs

Helper classes for viewing the PowerPoint Presenatation in iOS device

Click here to explore the rich set of Syncfusion® PowerPoint Library (Presentation) features.

An online sample link to convert PowerPoint Presentation to image in ASP.NET Core.