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.
Inherited Members
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.