Extract Annotations from Microsoft Office PowerPoint presentations

Microsoft Office PowerPoint presentations (.ppt, .pptx) often contain annotations – slide comments left by reviewers during a review pass. With GroupDocs.Parser for .NET, you can easily read these annotations programmatically using the GetAnnotations method.

This guide shows how to extract annotations from Microsoft Office PowerPoint presentations in C# step by step.

What Are PowerPoint Annotations?

Annotations are comments that reviewers attach to slides in a PowerPoint (.ppt, .pptx) presentation – for example, feedback left on a specific shape or slide during a review pass. The GetAnnotations method reads this markup and returns it as a collection of AnnotationItem objects, each exposing a Value with the comment’s text, along with metadata such as the author and timestamp.

The method has two overloads:

OverloadDescription
GetAnnotations()Extracts annotations from the whole PowerPoint presentation
GetAnnotations(int pageIndex)Extracts annotations from a specific slide (zero-based index)

Note: Annotation extraction is supported for both the legacy binary format (.ppt) and the Open XML format (.pptx).

How to Extract Annotations from a PowerPoint Presentation in C#

Follow these steps to get annotations from a .ppt or .pptx file:

  1. Create a Parser object and load the PowerPoint presentation.
  2. Call the GetAnnotations method to retrieve the annotation collection.
  3. Iterate through the collection and read each annotation’s value.

Example: Extract PowerPoint Annotations in C#

using (Parser parser = new Parser(@"MyPresentation.pptx"))
{
    // Extract annotations
    IEnumerable<AnnotationItem> annotations = parser.GetAnnotations();

    // Display annotations
    foreach (AnnotationItem item in annotations)
    {
        Console.WriteLine(item.Value);
    }
}
Warning
GetAnnotations method returns null if annotation extraction isn’t supported for the document. If the PowerPoint presentation has no comments, GetAnnotations method returns an empty collection.

Extract PowerPoint Text Together with Annotations

Sometimes it’s useful to get the presentation’s text and its comments in one pass, instead of calling GetAnnotations separately. Set IncludeAnnotations to true on TextOptions and pass it to the GetText method – the comment text will be included in the extracted output alongside the regular slide text.

Example: Extract Text with Annotations in C#

using (Parser parser = new Parser(@"MyPresentation.pptx"))
{
    TextOptions options = new TextOptions
    {
        IncludeAnnotations = true
    };

    using (TextReader reader = parser.GetText(options))
    {
        string text = reader.ReadToEnd();
        Console.WriteLine(text);
    }
}

Reading PowerPoint Comment Metadata

Each AnnotationItem also exposes metadata that helps trace who left a comment on a slide and when:

PropertyTypeDescription
AnnotationTypestringThe annotation type.
PageIndexintZero-based index of the slide where the comment is located.
TimestampDateTime?Date and time when the comment was created or last modified.
AuthorNamestringName of the author who created or last modified the comment.
AuthorInitialsstringInitials of the author who created or last modified the comment.

Example: Reading Comment Metadata in C#

using (Parser parser = new Parser(@"MyPresentation.pptx"))
{
    IEnumerable<AnnotationItem> annotations = parser.GetAnnotations();

    foreach (AnnotationItem annotation in annotations)
    {
        Console.WriteLine($"Slide: {annotation.PageIndex}, Author: {annotation.AuthorName} ({annotation.AuthorInitials})");
        Console.WriteLine($"Created/Modified: {annotation.Timestamp}, Type: {annotation.AnnotationType}");
        Console.WriteLine($"Comment: {annotation.Value}");
    }
}

Why Extract Annotations from PowerPoint Presentations?

Extracting comments from Microsoft Office PowerPoint presentations is useful for:

  • Review workflows – collect reviewer feedback left on slides during a review cycle.
  • Collaboration – surface slide comments without opening PowerPoint.
  • Auditing – track who commented on a deck, and when, over time.

More resources

GitHub examples

You may easily run the code above and see the feature in action in our GitHub examples:

Free online document parser App

Along with full featured .NET library we provide simple, but powerful free Apps.

You are welcome to parse documents and extract data from PDF, DOC, DOCX, PPT, PPTX, XLS, XLSX, Emails and more with our free online Free Online Document Parser App.

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.