API Reference

Class

PdfAnnotation

Namespace OfficeIMO.Pdf
Assembly OfficeIMO.Pdf
Modifiers sealed

Generic page annotation metadata read from a PDF page.

Inheritance

  • Object
  • PdfAnnotation

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Properties

public Nullable<Int32> ObjectNumber { get; } #

Indirect annotation object number, when the annotation is referenced indirectly.

public Nullable<Int32> PageNumber { get; } #

One-based page number when known.

public String Subtype { get; } #

PDF annotation subtype name, for example Link, Text, FreeText, or Highlight.

public String Contents { get; } #

Optional annotation contents metadata from /Contents.

public Double X1 { get; } #

Left edge of the annotation rectangle in PDF points.

public Double Y1 { get; } #

Bottom edge of the annotation rectangle in PDF points.

public Double X2 { get; } #

Right edge of the annotation rectangle in PDF points.

public Double Y2 { get; } #

Top edge of the annotation rectangle in PDF points.

public Double Width { get; } #

Rectangle width in PDF points.

public Double Height { get; } #

Rectangle height in PDF points.

public Boolean HasNormalAppearance { get; } #

True when the annotation dictionary exposes a normal appearance stream through /AP /N.

public String ActionType { get; } #

Primary annotation action type from /A /S, when present.

public IReadOnlyList<PdfAnnotationAdditionalAction> AdditionalActions { get; } #

Additional annotation actions from the /AA dictionary, when present.

public IReadOnlyList<PdfAnnotationChainedAction> ChainedActions { get; } #

Chained annotation actions discovered through /Next entries on /A or /AA action dictionaries.

public Nullable<Int32> Flags { get; } #

Raw annotation flags from /F, when present.

public String Name { get; } #

Annotation unique name from /NM, when present.

public String Title { get; } #

Annotation title or author from /T, when present.

public String Modified { get; } #

Annotation modification date string from /M, when present.

public IReadOnlyList<Double> Color { get; } #

Annotation color components from /C, when readable.

public String DefaultAppearance { get; } #

FreeText default appearance string from /DA, when present.

public String DefaultStyle { get; } #

FreeText default style string from /DS, when present.

public String RichContents { get; } #

FreeText rich contents string from /RC, when present.

public String RichContentsPlainText { get; } #

Plain text extracted from FreeText /RC when rich contents are present and readable.

public Nullable<Double> EffectiveFontSize { get; } #

Effective FreeText font size resolved from /DA or /DS, when readable.

public Nullable<PdfColor> EffectiveTextColor { get; } #

Effective FreeText text color resolved from /DA or /DS, when readable.

public Nullable<PdfAlign> EffectiveTextAlign { get; } #

Effective FreeText text alignment resolved from /Q or /DS, when readable.

public IReadOnlyList<Double> InteriorColor { get; } #

Annotation interior color components from /IC, when readable.

public Nullable<Double> Opacity { get; } #

Annotation opacity from /CA, when present and valid.

public Nullable<Double> BorderWidth { get; } #

Annotation border width from /BS /W or /Border, when present and valid.

public String BorderStyle { get; } #

Annotation border style resolved from /BS /S, when present.

public IReadOnlyList<Double> BorderDashPattern { get; } #

Annotation border dash pattern from /BS /D, when present and valid.

public String BorderEffectStyle { get; } #

Annotation border effect style from /BE /S, when present.

public Nullable<Double> BorderEffectIntensity { get; } #

Annotation border effect intensity from /BE /I, when present and valid.

public IReadOnlyList<Double> RectangleDifferences { get; } #

FreeText rectangle differences from /RD as left, top, right, bottom values, when valid.

public IReadOnlyList<Double> CalloutLine { get; } #

FreeText callout line coordinates from /CL, when present and valid.

public String CalloutLineEnding { get; } #

FreeText callout line ending from /LE, when present.

public String LineStartEnding { get; } #

Line or PolyLine start ending from /LE, when present.

public String LineEndEnding { get; } #

Line or PolyLine end ending from /LE, when present.

public IReadOnlyList<Double> QuadPoints { get; } #

Text-markup quad point coordinates from /QuadPoints, when present and valid.

public IReadOnlyList<Double> LineCoordinates { get; } #

Line annotation coordinates from /L, when present and valid.

public IReadOnlyList<Double> Vertices { get; } #

Polygon or PolyLine vertices from /Vertices, when present and valid.

public IReadOnlyList<IReadOnlyList<Double>> InkList { get; } #

Ink annotation paths from /InkList, when present and valid.

public Boolean HasFreeTextAppearanceMetadata { get; } #

True when the annotation exposes FreeText appearance metadata such as /DA, /DS, /RC, or /Q.

public Boolean HasVisualStyleMetadata { get; } #

True when the annotation exposes visual styling metadata beyond the rectangle and subtype.

public Boolean HasPathGeometryMetadata { get; } #

True when the annotation exposes path geometry such as /QuadPoints, /L, /Vertices, or /InkList.

public Boolean HasColor { get; } #

True when the annotation has a readable color array.

public Boolean HasAction { get; } #

True when the annotation has a primary action dictionary.

public Boolean HasAdditionalActions { get; } #

True when the annotation has at least one additional action dictionary.

public Boolean HasChainedActions { get; } #

True when at least one chained /Next action was discovered for this annotation.

public Int32 ChainedActionCount { get; } #

Number of chained /Next actions discovered for this annotation.

public Boolean IsInvisible { get; } #

True when the annotation has the PDF Invisible flag.

public Boolean IsHidden { get; } #

True when the annotation has the PDF Hidden flag.

public Boolean IsPrint { get; } #

True when the annotation has the PDF Print flag.

public Boolean IsNoZoom { get; } #

True when the annotation has the PDF NoZoom flag.

public Boolean IsNoRotate { get; } #

True when the annotation has the PDF NoRotate flag.

public Boolean IsNoView { get; } #

True when the annotation has the PDF NoView flag.

public Boolean IsReadOnly { get; } #

True when the annotation has the PDF ReadOnly flag.

public Boolean IsLocked { get; } #

True when the annotation has the PDF Locked flag.

public Boolean IsToggleNoView { get; } #

True when the annotation has the PDF ToggleNoView flag.

public Boolean IsLockedContents { get; } #

True when the annotation has the PDF LockedContents flag.