Open and read PowerPoint files
The following example shows how you can use GemBox.Presentation to read a presentation, iterate over all Shape
, TextParagraph
and TextRun
elements within, and display text and font-weight information for all TextRun
elements.
using GemBox.Presentation;
using System;
using System.Linq;
using System.Text;
class Program
{
static void Main()
{
// If using the Professional version, put your serial key below.
ComponentInfo.SetLicense("FREE-LIMITED-KEY");
var presentation = PresentationDocument.Load("%InputFileName%");
var sb = new StringBuilder();
var slide = presentation.Slides[0];
foreach (var shape in slide.Content.Drawings.OfType<Shape>())
{
sb.AppendFormat("Shape ShapeType={0}:", shape.ShapeType);
sb.AppendLine();
foreach (var paragraph in shape.Text.Paragraphs)
{
foreach (var run in paragraph.Elements.OfType<TextRun>())
{
var isBold = run.Format.Bold;
var text = run.Text;
sb.AppendFormat("{0}{1}{2}", isBold ? "<b>" : "", text, isBold ? "</b>" : "");
}
sb.AppendLine();
}
sb.AppendLine("----------");
}
Console.WriteLine(sb.ToString());
}
}
Imports GemBox.Presentation
Imports System
Imports System.Linq
Imports System.Text
Module Program
Sub Main()
' If using the Professional version, put your serial key below.
ComponentInfo.SetLicense("FREE-LIMITED-KEY")
Dim presentation = PresentationDocument.Load("%InputFileName%")
Dim sb = New StringBuilder()
Dim slide = presentation.Slides(0)
For Each shape In slide.Content.Drawings.OfType(Of Shape)
sb.AppendFormat("Shape ShapeType={0}:", shape.ShapeType)
sb.AppendLine()
For Each paragraph In shape.Text.Paragraphs
For Each run In paragraph.Elements.OfType(Of TextRun)
Dim isBold = run.Format.Bold
Dim text = run.Text
sb.AppendFormat("{0}{1}{2}", If(isBold, "<b>", ""), text, If(isBold, "</b>", ""))
Next
sb.AppendLine()
Next
sb.AppendLine("----------")
Next
Console.WriteLine(sb.ToString())
End Sub
End Module
You can specify the format of your PowerPoint file by providing an object from the LoadOptions
derived class (like PptxLoadOptions
and PptLoadOptions
). Or you can let GemBox.Presentation choose the appropriate options for you when opening the file by omitting the LoadOptions
.