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

PdfCircleAnnotationFacade Class

Exposes members used to organize circle annotations without access to their inner structure.

Namespace: DevExpress.Pdf

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

NuGet Package: DevExpress.Pdf.Core

#Declaration

public class PdfCircleAnnotationFacade :
    PdfShapeAnnotationFacade

The following members return PdfCircleAnnotationFacade objects:

#Remarks

#Create Circle Annotations

The code sample below creates a circle annotation:

circle 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 circle annotation
    PdfCircleAnnotationFacade circleAnnotation = pageFacade.AddCircleAnnotation(rectangle);

    // Specify annotation parameters
    circleAnnotation.Author = "Nancy Davolio";
    circleAnnotation.Contents = "Made in PDF Document API";

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

#Edit Circle Annotations

The PdfPageFacade.Annotations property returns all page annotation properties. You can filter circle annotation properties, cast them to the PdfCircleAnnotationFacade class, and use class properties to modify annotation parameters.

The code sample below retrieves all circle annotations on the first page and changes their border and fill color.

changed circle annotation

using DevExpress.Pdf;
using System.Linq;

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

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

    // Retrieve all circle annotations
    var circleAnnotations = pageFacade.Annotations.Where
      (annotation => annotation.Type == PdfAnnotationType.Circle);
    foreach (PdfCircleAnnotationFacade circleAnnotation in circleAnnotations)
    {
        // Change annotation parameters
        circleAnnotation.Color = new PdfRGBColor(1,1,1); 
        circleAnnotation.InteriorColor = new PdfRGBColor(0.87, 0.60, 1.00); 
    }
    // Save the result
    processor.SaveDocument("..\\..\\Result.pdf");
}

#Flatten Circle Annotations

Call one of the following methods to flatten an annotation:

Method Description
PdfDocumentFacade.FlattenAnnotations Flattens document annotations.
PdfPageFacade.FlattenAnnotations Flattens annotations of a specific page.
PdfAnnotationFacade.Flatten() Flattens a specific annotation.

The code sample below flattens all circle annotations on the first page:

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

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

    // Flatten all circle annotations
    pageFacade.FlattenAnnotations(PdfAnnotationType.Circle);

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

#Remove Circle Annotations

Call the PdfAnnotationFacade.Remove() method to remove a specific annotation.

The code sample below removes all circle annotations from the first page:

using DevExpress.Pdf;
using System.Linq;

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

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

    // Retrieve all circle annotations
    var circleAnnotations = pageFacade.Annotations.Where
      (annotation => annotation.Type == PdfAnnotationType.Circle).ToList();
    foreach (PdfCircleAnnotationFacade circle in circleAnnotations)
    {
        // Remove each annotation
        circle.Remove();
    }
    // Save the result
    processor.SaveDocument("..\\..\\Result.pdf");
}
See Also