Search Results for

    Show / Hide Table of Contents

    Class PdfUnknownAnnotation

    An annotation whose subtype has no dedicated representation, for example a form-field Widget. Only the common annotation fields (Type, Rectangle, Color, Name, Contents, Hidden) are populated. Returning this rather than throwing lets callers that enumerate a page's annotations, such as the page-numbered Table of Contents scan, safely ignore subtypes they do not handle.

    Inheritance
    System.Object
    PdfAnnotation
    PdfUnknownAnnotation
    Inherited Members
    PdfAnnotation.Type
    PdfAnnotation.Rectangle
    PdfAnnotation.Color
    PdfAnnotation.Contents
    PdfAnnotation.Name
    PdfAnnotation.Hidden
    Namespace: IronPdf.Annotations
    Assembly: IronPdf.dll
    Syntax
    public sealed class PdfUnknownAnnotation : PdfAnnotation

    Enumerating a PDF page's annotations safely requires a fallback for subtypes that have no dedicated representation, and PdfUnknownAnnotation fills that role. When IronPDF encounters an annotation subtype it does not map to a concrete class (a form-field Widget is the most common example), it wraps the annotation in a PdfUnknownAnnotation rather than throwing an exception, letting annotation-scanning code continue without special-casing every possible subtype.

    PdfUnknownAnnotation extends PdfAnnotation and exposes the six fields that every PDF annotation carries regardless of subtype: Type, Rectangle, Color, Name, Contents, and Hidden. Its single constructor accepts all six as parameters, matching the signature PdfUnknownAnnotation(PdfAnnotationType type, Rectangle rectangle, Color color, string name, string contents, bool hidden). Code that iterates annotations and pattern-matches on known types can simply skip any PdfUnknownAnnotation instance, preserving the data without crashing.

    A practical pattern is to filter unknown annotations out of a result set while still logging the Type value for diagnostics:

    using IronPdf;
    using IronPdf.Annotations;
    
    var annotations = PdfDocument.FromFile("report.pdf").Pages[0].Annotations;
    foreach (var annotation in annotations)
    {
        if (annotation is PdfUnknownAnnotation unknown)
            Console.WriteLine($"Skipping unhandled annotation type: {unknown.Type}");
    }

    For background on working with PDF annotations in IronPDF, see the PDF annotations how-to and the broader IronPDF documentation hub.

    Constructors

    PdfUnknownAnnotation(PdfAnnotationType, Rectangle, Color, String, String, Boolean)

    Create an annotation of a subtype that has no dedicated representation.

    Declaration
    public PdfUnknownAnnotation(PdfAnnotationType type, Rectangle rectangle, Color color, string name, string contents, bool hidden)
    Parameters
    Type Name Description
    PdfAnnotationType type
    IronSoftware.Drawing.Rectangle rectangle
    IronSoftware.Drawing.Color color
    System.String name
    System.String contents
    System.Boolean hidden
    Remarks

    Unlike PdfTextAnnotation and its siblings the subtype is not fixed by the class, so it is a parameter here. This public constructor lets a transport layer (for example the IronPdfEngine gRPC converter) rebuild the annotation client-side.

    Inherited members

    Type
    Rectangle
    Color
    Contents
    Name
    Hidden
    ☀
    ☾
    Downloads
    • Download with Nuget
    • Start for Free
    In This Article
    Back to top
    Install with Nuget