Skip to main content
All docs
V24.2

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

PdfPageFacade.AddFreeTextAnnotation(PdfRectangle, String) Method

Creates a free text annotation in the specified page rectangle.

Namespace: DevExpress.Pdf

Assembly: DevExpress.Pdf.v24.2.Core.dll

NuGet Package: DevExpress.Pdf.Core

#Declaration

public PdfFreeTextAnnotationFacade AddFreeTextAnnotation(
    PdfRectangle rect,
    string text
)

#Parameters

Name Type Description
rect PdfRectangle

A page area to add the annotation.

text String

An annotation text.

#Returns

Type Description
PdfFreeTextAnnotationFacade

An object that contains free text annotation properties.

#Remarks

#Example: Create a Text Box Annotation

The code sample below creates a free text annotation:

free text

using (PdfDocumentProcessor processor = new PdfDocumentProcessor())
{
    // Load a document
    processor.LoadDocument("..\\..\\Document.pdf");

    // Access the first page properties
    PdfPageFacade pageFacade = processor.DocumentFacade.Pages[0];

    // Define an annotation area
    PdfRectangle rectangle = new PdfRectangle(663, 526, 763, 576);

    // Create a free text annotation in this area
    PdfFreeTextAnnotationFacade freeText =
       pageFacade.AddFreeTextAnnotation(rectangle, "Free Text Annotation");

    // Specify annotation parameters
    freeText.Author = "Nancy Davolio";
    freeText.BorderWidth = 2;

    // Save the result
    processor.SaveDocument("..\\..\\Result.pdf");
}

#Example: Create a Callout Annotation

Call a free text annotation’s SetCallout method to add a callout line to the annotation. The method call sets the annotation’s Intent property to FreeTextCallout.

The code sample below creates a callout annotation pointed at a specific phrase:

callout

using (PdfDocumentProcessor processor = new PdfDocumentProcessor())
{
    // Load a document
    processor.LoadDocument("..\\..\\Document.pdf");

    // Access the first page properties
    PdfPageFacade pageFacade = processor.DocumentFacade.Pages[0];
    PdfRectangle calloutRectangle;

    // Find the target phrase in the document
    string calloutText = "Evaluation";
    PdfTextSearchResults searchResults = processor.FindText(calloutText);

    if (searchResults.Status == PdfTextSearchStatus.Found)
    {
        // Obtain the target phrase rectangle
        calloutRectangle = searchResults.Rectangles[0].BoundingRectangle;

        // Define an annotation area
        PdfRectangle rectangle = new PdfRectangle(663, 526, 763, 576);

        // Create a free text annotation in this area
        PdfFreeTextAnnotationFacade freeText =
            pageFacade.AddFreeTextAnnotation(rectangle, "Free Text Annotation");

        // Specify annotation parameters
        freeText.Author = "Nancy Davolio";

        // Add a callout line pointed at the center of the target phrase
        freeText.SetCallout(PdfAnnotationLineEndingStyle.OpenArrow, calloutRectangle.Center);
    }

    // Save the result
    processor.SaveDocument("..\\..\\Result.pdf");
}

#Example: Create a Typewriter Annotation

Set a free text annotation’s Intent property to FreeTextTypewriter to convert the annotation to a typewriter (click-to-type) object. This object has no border, callout line, or padding between the text and annotation bounds.

The code sample below creates a typewriter annotation:

typewriter annotation

using (PdfDocumentProcessor processor = new PdfDocumentProcessor())
{
    // Load a document
    processor.LoadDocument("..\\..\\Document.pdf");

    // Access the first page properties
    PdfPageFacade pageFacade = processor.DocumentFacade.Pages[0];

    // Define an annotation area
    PdfRectangle rectangle = new PdfRectangle(663, 526, 763, 576);

    // Create a free text annotation
    PdfFreeTextAnnotationFacade freeText =
        pageFacade.AddFreeTextAnnotation(rectangle, "Free Text Annotation");

    // Specify annotation parameters
    freeText.Author = "Nancy Davolio";
    freeText.Intent = PdfFreeTextAnnotationIntent.FreeTextTypewriter;

    // Save the result
    processor.SaveDocument("..\\..\\Result.pdf");
}
See Also