We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to read a PowerPoint file in C#, VB.NET?

Platform: WinForms |
Control: Presentation

Syncfusion Essential Presentation is a .NET PowerPoint library used to create, open, read, edit, and convert PowerPoint presentations. The library supports reading PowerPoint presentations in C# and VB.NET from a file path or a stream. This functionality is exposed through the presentation. Open static method overloads.

 

Steps to read PowerPoint programmatically:

  1. Create a new C# console application.

New console application in .NET PowerPoint library

 

  1. Install Syncfusion.Presentation.Base NuGet package to the console application project from nuget.org. For more information about adding a NuGet feed in Visual Studio and installing NuGet packages, refer to documentation

 

Syncfusion presentation base in .NET PowerPoint library

 

  1. Include the following namespace in the Program.cs file.
    using Syncfusion.Presentation;
    

 

Imports Syncfusion.Presentation

 

Read a PowerPoint file from stream

The following example demonstrates how to read a PowerPoint file from a stream and save it to a physical file path.

 

//File stream that holds the PowerPoint presentation.
FileStream fileStream = new FileStream("Sample.pptx", FileMode.Open, System.IO.FileAccess.Read);
 
//Open the presentation.
IPresentation powerpointDoc = Presentation.Open(fileStream);
 
//Save the PowerPoint presentation to a file.
powerpointDoc.Save("Resaved.pptx");
 
//Close the presentation.
powerpointDoc.Close();
 
//Dispose the used memory.
fileStream.Dispose();

 

'File stream that holds the PowerPoint presentation.
Dim fileStream As New FileStream("Sample.pptx", FileMode.Open, System.IO.FileAccess.Read)
 
'Open the presentation.
Dim powerpointDoc As IPresentation = Presentation.Open(fileStream)
 
'Save the PowerPoint presentation to a file.
powerpointDoc.Save("Resaved.pptx")
 
'Close the presentation.
powerpointDoc.Close()
 
'Dispose the used memory.
fileStream.Dispose()
 

 

Read the PowerPoint file from file path

The following example demonstrates how to read a PowerPoint file from a file path and save it to a stream.

 

//Open the presentation.
IPresentation powerpointDoc  = Presentation.Open("Sample.pptx");
 
//Create a stream to save the PowerPoint presentation.
MemoryStream stream = new MemoryStream();
 
//Save the PowerPoint presentation to the stream.
powerpointDoc.Save(stream);
 
//Close the presentation.
powerpointDoc.Close();

 

'Open a presentation.
Dim powerpointDoc As IPresentation = Presentation.Open("Sample.pptx")
 
'Create a stream to save the PowerPoint presentation.
Dim stream As New MemoryStream()
 
'Save the PowerPoint presentation to the stream.
powerpointDoc.Save(stream)
 
'Close the presentation.
powerpointDoc.Close()

 

The following example demonstrates how to read a PowerPoint presentation from a file path, iterate over all shapes in the slides and print the text in console output.

 

//Open the presentation
IPresentation powerpointDoc = Presentation.Open("Sample.pptx");
 
//Iterate the slides in the PowerPoint presentation file
foreach (ISlide slide in powerpointDoc.Slides)
{
    //Iterate the shapes in the slide
    foreach (IShape shape in slide.Shapes)
    {
        // Check whether the shape is an auto-shape. Other types can be charts, tables or SmartArt diagrams.
        if (shape.SlideItemType == SlideItemType.AutoShape)
 
        //Print the text to the console output
        System.Console.WriteLine(shape.TextBody.Text);
    }
}
 
//Save the PowerPoint presentation to another file.
powerpointDoc.Save("Resaved.pptx");
 
//Close the presentation.
powerpointDoc.Close();
 
//Wait to check the console output
System.Console.Read();

 

'Open the presentation
Dim powerpointDoc As IPresentation = Presentation.Open("Sample.pptx")
 
'Iterate the slides in the PowerPoint presentation file
For Each slide As ISlide In powerpointDoc.Slides
 
    'Iterate the shapes in the slide
    For Each shape As IShape In slide.Shapes
 
    ' Check whether the shape is an auto-shape. Other types can be charts, tables or SmartArt diagrams.
    If shape.SlideItemType = SlideItemType.AutoShape Then
 
        'Print the text to the console output
        System.Console.WriteLine(shape.TextBody.Text)
 
        End If
    Next
Next
 
'Save the PowerPoint presentation to another file.
powerpointDoc.Save("Resaved.pptx")
 
'Close the presentation.
powerpointDoc.Close()
 
'Wait to check the console output
System.Console.Read()

 

You can download the working sample from Read-PowerPoint-File.Zip.

Take a moment to peruse the documentation with code examples.

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

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.

 

 

 

2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile