Extract Annotations from PDF Documents in C# .NET

PDF files often contain annotations – comments, notes, highlights, and other markup added by reviewers. With GroupDocs.Parser for .NET, you can easily read these annotations programmatically using the GetAnnotations method.

This guide shows how to extract annotations from PDF documents in C# step by step.


What Are PDF Annotations?

Annotations are notes, comments, and markup that reviewers add on top of a PDF document’s content – for example, sticky notes, text comments, or highlighted remarks. The GetAnnotations method reads this markup and returns it as a collection of AnnotationItem objects, each exposing a Value with the annotation’s text.

The method has two overloads:

OverloadDescription
GetAnnotations()Extracts annotations from the whole document
GetAnnotations(int pageIndex)Extracts annotations from a specific page (zero-based index)

Note: Annotation support depends on the document format. Not every file format allows annotations.


How to Extract PDF Annotations in C#

Follow these steps to get annotations from a PDF document:

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

Example: Extract PDF Annotations in C#

using (Parser parser = new Parser(@"C:\MyDocuments\MyDocument.pdf"))
{
    // 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 PDF document has no annotations, GetAnnotations method returns an empty collection.

Extract PDF Document Text Together with Annotations

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

Example: Extract Text with Annotations in C#

using (Parser parser = new Parser(@"C:\MyDocuments\MyDocument.pdf"))
{
    TextOptions options = new TextOptions
    {
        IncludeAnnotations = true
    };
    using (TextReader reader = parser.GetText(options))
    {
        string text = reader.ReadToEnd();
        Console.WriteLine(text);
    }
}

Why Extract PDF Annotations?

Extracting PDF annotations is useful for:

  • Review workflows – collect reviewer comments and feedback from a document.
  • Collaboration – surface highlighted or noted sections without opening the PDF.
  • Auditing – track markup left on a document 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.