[]
The abstract base class for all PDF annotation types.
public abstract class AnnotationBase : PdfDictWrapper, IOwnedObject, IContentItem, IPdfDict
Gets or sets the annotation’s appearance state, which selects the applicable appearance stream from an appearance sub-dictionary. Note! If you change this property then GcPdf will NOT automatically generates appearance content streams in AppearanceStreams. See PDF specification for more details.
public string AppearanceState { get; set; }
Gets the AppearanceStreams object that allows defining this annotation's appearance streams.
public AppearanceStreams AppearanceStreams { get; }
Gets the list of embedded files associated with this AnnotationBase.
public AssociatedFiles AssociatedFiles { get; }
Gets or sets the text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation’s contents in human-readable form. In either case, this text is useful when extracting the document’s contents in support of accessibility to users with disabilities or for other purposes.
public string Contents { get; set; }
Gets the GcPdfDocument owning this annotation.
public GcPdfDocument Doc { get; }
Gets or sets the flags specifying various characteristics of the annotation.
public AnnotationFlags Flags { get; set; }
Gets or sets an object that specifies the layer to which this annotation belongs.
This can be either an OptionalContentGroup or an OptionalContentMembership.
public OptionalContentIdentifier Layer { get; set; }
Gets or sets a value indicating whether the annotation can be deleted or its properties (including position and size) can be modified by the user. However, this flag does not restrict changes to the annotation’s contents, such as the value of a form field.
public bool Locked { get; set; }
Gets or sets a value indicating whether the contents of the annotation can be modified by the user. This flag does not restrict deletion of the annotation or changes to other annotation properties, such as position and size.
public bool LockedContents { get; set; }
Gets or sets the date and time when the annotation was modified.
public PdfDateTime? ModifiedDate { get; set; }
Gets or sets the annotation name, a text string uniquely identifying it among all annotations on its page.
public string Name { get; set; }
Gets or sets the Page that contains this annotation.
Note that an annotation may be referenced by several pages. In that case this property returns the first element in the Pages collection.
When setting this property, the following applies:
public Page Page { get; set; }
Gets the list of pages that reference this annotation.
public IList<Page> Pages { get; }
Gets or sets the rectangle that defines the location and size of the annotation on a page in PDF user space coordinates. The positive X axis extends horizontally to the right, and the positive Y axis extends vertically upward, with the origin usually in the lower left corner of the page.
public RectangleF PdfRect { get; set; }
Gets or sets the rectangle that defines the location and size of the annotation on a page. The coordinates of the rectangle are relative to the upper left corner of the page's media box, with the Y (vertical) coordinates increasing from top to bottom.
Note that if the annotation is associated with more than one page, the media box of the first of those pages is used to calculate the rectangle's location.
public RectangleF Rect { get; set; }
Gets or sets arbitrary data associated with the current annotation.
Note that this data is runtime only and is not persisted in the PDF.
public object UserData { get; set; }
Creates an instance of FormXObject that can be used to define the annotation's appearance stream.
Note that when this method is called, the annotation must already have been added to the document, otherwise an exception will be thrown.
public FormXObject CreateAppearanceContentStream()
The FormXObject object.
Disables generation of appearance steams for this annotation when the document is saved.
Note that if any property affecting the annotation's appearance (such as Rect) is then changed, the appearance streams will be regenerated. So this method would usually be called after initializing all annotation's properties.
public void DisableAppearanceGeneration()
Removes all appearance streams associated with the current annotation, and disables generation of appearance steams for this annotation when the document is saved.
Note that if any property affecting the annotation's appearance (such as Rect) is then changed, the appearance streams will be regenerated. So this method would usually be called after initializing all annotation's properties.
public void RemoveAppearance()
Forces regeneration of the annotation's appearance streams next time the document is saved.
public void ResetAppearance()