Exporting PowerPoint Slides to Images in C#

Basic presentation

If you’ve ever wondered how to automate the process of exporting PowerPoint slides to individual images using C#, you’re in the right place. This simple C# Programming code leverages the Microsoft PowerPoint Interop library and allows you to interact with PowerPoint programmatically. Whether you’re working on a project that requires automating tasks or you’re just curious about extending your C# skills, this code demonstrates a straightforward way to export each slide from a PowerPoint presentation as a separate image. By following the provided example, you can gain insights into interacting with external applications and handling common tasks within the world of C# programming. Let’s dive in and explore the fundamentals of this practical application!

To export all slides from a PowerPoint presentation as images using C#, you can use the Microsoft PowerPoint Interop library. Here’s a basic example to get you started:

  1. Make sure you have the PowerPoint Interop library referenced in your project. You can add it by right-clicking on your project, selecting “Add” > “Reference,” and then finding “Microsoft PowerPoint xx.x Object Library” in the COM tab.
  2. Write the C# code to export slides as images:
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using System.IO;

class Program
{
    static void Main()
    {
        string presentationPath = "C:\\Path\\To\\Your\\Presentation.pptx";
        string exportFolderPath = "C:\\Path\\To\\Your\\Export\\Folder\\";

        ExportSlidesAsImages(presentationPath, exportFolderPath);
    }

    static void ExportSlidesAsImages(string presentationPath, string exportFolderPath)
    {
        PowerPoint.Application pptApp = new PowerPoint.Application();
        PowerPoint.Presentation presentation = pptApp.Presentations.Open(presentationPath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);

        if (!Directory.Exists(exportFolderPath))
        {
            Directory.CreateDirectory(exportFolderPath);
        }

        int slideIndex = 1;

        foreach (PowerPoint.Slide slide in presentation.Slides)
        {
            string imagePath = Path.Combine(exportFolderPath, $"Slide_{slideIndex}.png");

            // Export slide as image
            slide.Export(imagePath, "PNG", 1024, 768);

            slideIndex++;
        }

        // Close PowerPoint application
        presentation.Close();
        pptApp.Quit();
    }
}

Make sure to replace the presentationPath and exportFolderPath variables with the actual paths to your PowerPoint presentation and the folder where you want to export the images.

Note: This code uses the PowerPoint Interop library, so you need to have PowerPoint installed on the machine where this code runs. Similarly you can use Microsoft Excel Interop library to read and write Excel files in C#.

M. Saqib: Saqib is Master-level Senior Software Engineer with over 14 years of experience in designing and developing large-scale software and web applications. He has more than eight years experience of leading software development teams. Saqib provides consultancy to develop software systems and web services for Fortune 500 companies. He has hands-on experience in C/C++ Java, JavaScript, PHP and .NET Technologies. Saqib owns and write contents on mycplus.com since 2004.
Related Post