---
title: "Flatten PDF annotations in C# .NET | Nutrient .NET SDK"
canonical_url: "https://www.nutrient.io/guides/dotnet/annotations/flatten/"
md_url: "https://www.nutrient.io/guides/dotnet/annotations/flatten.md"
last_updated: "2026-05-21T17:12:02.199Z"
description: "Learn how to flatten annotations within PDF documents programmatically in C# .NET using Nutrient .NET SDK. Make annotations a permanent part of the PDF content."
---

# Flatten PDF annotations in C# .NET

Flattening a PDF annotation means that you remove the annotation object from a document’s internal structure and place its data directly on the PDF page as a regular content object. This means that the annotation is no longer editable and its data can’t be extracted.

To flatten an already existing annotation, use the [`GetAnnotationCount` method](/api/gdpicture/GdPicture.NET.14.API~GdPicture14.GdPicturePDF~GetAnnotationCount.html) to get the total number of annotations on the selected page, loop through all annotations on the selected page, and find the annotation that you want to flatten by any of its parameters, such as its title, type, or subject. Use the methods starting with the `GetAnnotation` prefix. The full list is available in the [get properties](/guides/dotnet/annotations/get-properties.md) guide.

To flatten a newly created annotation, use the following code:

### C#

```csharp

using GdPicturePDF gdpicturePDF = new GdPicturePDF();
gdpicturePDF.LoadFromFile(@"C:\temp\source.pdf");
// Set the origin of the coordinate system.
gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
// Set the measurement unit to centimeters.
gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter);
// Select the first PDF page.
gdpicturePDF.SelectPage(1);
// Set the text content and determine its size.
float fontSize = 16;
string fontResName = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica);
string text = "Text annotation example.";
float textWidth = gdpicturePDF.GetTextWidth(fontResName, fontSize, text) + 0.5f;
float textHeight = gdpicturePDF.GetTextHeight(fontResName, fontSize, false) + 0.5f;
// Add the free text annotation.
int annotIndex = gdpicturePDF.AddFreeTextAnnotation(1, 2, textWidth, textHeight, true,
    "Annotation Example", "Example", text,
    fontResName, fontSize, 0, 0, 200, 100, 100, 100, 100);
// Flatten the free text annotation.
gdpicturePDF.FlattenAnnotation(annotIndex);
gdpicturePDF.SaveToFile(@"C:\temp\output.pdf");

```

### VB.NET

```vb

Using gdpicturePDF As GdPicturePDF = New GdPicturePDF()
    gdpicturePDF.LoadFromFile("C:\temp\source.pdf")
    ' Set the origin of the coordinate system.
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
    ' Set the measurement unit to centimeters.
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter)
    ' Select the first PDF page.
    gdpicturePDF.SelectPage(1)
    ' Set the text content and determine its size.
    Dim fontSize As Single = 16
    Dim fontResName As String = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica)
    Dim text = "Text annotation example."
    Dim textWidth As Single = gdpicturePDF.GetTextWidth(fontResName, fontSize, text) + 0.5F
    Dim textHeight As Single = gdpicturePDF.GetTextHeight(fontResName, fontSize, False) + 0.5F
    ' Add the free text annotation.
    Dim annotIndex As Integer = gdpicturePDF.AddFreeTextAnnotation(1, 2, textWidth, textHeight, True, "Annotation Example", "Example", text, fontResName, fontSize, 0, 0, 200, 100, 100, 100, 100)
    ' Flatten the free text annotation.
    gdpicturePDF.FlattenAnnotation(annotIndex)
    gdpicturePDF.SaveToFile("C:\temp\output.pdf")
End Using

```

#### Used methods

- [`AddFreeTextAnnotation`](/api/gdpicture/GdPicture.NET.14.API~GdPicture14.GdPicturePDF~AddFreeTextAnnotation.html)

- [`AddStandardFont`](/api/gdpicture/GdPicture.NET.14.API~GdPicture14.GdPicturePDF~AddStandardFont.html)

- [`FlattenAnnotation`](/api/gdpicture/GdPicture.NET.14.API~GdPicture14.GdPicturePDF~FlattenAnnotation.html)

- [`GetTextWidth`](/api/gdpicture/GdPicture.NET.14.API~GdPicture14.GdPicturePDF~GetTextWidth.html)

- [`GetTextHeight`](/api/gdpicture/GdPicture.NET.14.API~GdPicture14.GdPicturePDF~GetTextHeight.html)

- [`LoadFromFile`](/api/gdpicture/GdPicture.NET.14.API~GdPicture14.GdPicturePDF~LoadFromFile.html)

- [`SaveToFile`](/api/gdpicture/GdPicture.NET.14.API~GdPicture14.GdPicturePDF~SaveToFile.html)

- [`SelectPage`](/api/gdpicture/GdPicture.NET.14.API~GdPicture14.GdPicturePDF~SelectPage.html)

- [`SetMeasurementUnit`](/api/gdpicture/GdPicture.NET.14.API~GdPicture14.GdPicturePDF~SetMeasurementUnit.html)

- [`SetOrigin`](/api/gdpicture/GdPicture.NET.14.API~GdPicture14.GdPicturePDF~SetOrigin.html)

#### Related topics

- [Load a file](/guides/dotnet/load-a-file.md)

- [Save a file](/guides/dotnet/save-a-file.md)

---

## Related pages

- [Custom annotations](/guides/dotnet/annotations/custom-annotations.md)
- [Annotate on images in C# .NET](/guides/dotnet/annotations/annotate-on-images.md)
- [Attach an image to an annotation in C#](/guides/dotnet/annotations/attach-an-image.md)
- [Attach a file to an annotation in C#](/guides/dotnet/annotations/attach-a-file.md)
- [Create an annotation in a PDF using C#](/guides/dotnet/annotations/create.md)
- [Edit PDF annotations in C#](/guides/dotnet/annotations/edit.md)
- [Export XMP annotation data in C# .NET](/guides/dotnet/annotations/export-xmp.md)
- [Export annotation data from PDFs in C# .NET](/guides/dotnet/annotations/export-pdf.md)
- [Get PDF annotation properties in C# .NET](/guides/dotnet/annotations/get-properties.md)
- [Import XFDF annotation data to PDFs in C# .NET](/guides/dotnet/annotations/import-xfdf.md)
- [Remove PDF annotations in C# .NET](/guides/dotnet/annotations/remove.md)
- [PDF annotations in C#.NET](/guides/dotnet/annotations.md)
- [Add PDF actions using C# in form fields](/guides/dotnet/annotations/pdf-actions-support.md)
- [Import XMP annotation data to PDF or image in C#](/guides/dotnet/annotations/import-xmp.md)
- [Stamp a PDF document in C# .NET](/guides/dotnet/annotations/stamp-a-document.md)
- [XMP annotations in C# .NET](/guides/dotnet/annotations/xmp-annotations.md)

