HighlightAnnotation Class Documentation

class HighlightAnnotation : TextMarkupAnnotation

Namespace:Datalogics::PDFL

Inherits from:
TextMarkupAnnotation

Detailed Description

Allows the user to highlight text appearing on a PDF page.

The annotated text is still readable on the PDF, but highlighted in yellow.

Constructor & Destructor Documentation

HighlightAnnotation

HighlightAnnotation(Page page, int addAfter, System.Collections.Generic.IList< Quad > quadList)

Parameters

page: Page

The page to which the HighlightAnnotation is added.

addAfter: int

Where to add the annotation in the page's annotation array.

quadList: System.Collections.Generic.IList< Quad >

A list of quads to highlight. Each quad encompasses a word or group of contiguous words in the text underlying the annotation.

Create a new HighlightAnnotation at a specific index in the page's annotation array.

To add the annotation to the end of the array, pass a value of -2 or use the alternate version of this constructor that does not take an index (this is generally what you should do unless you have a need to place the annotation at a special location in the array). Passing a value of -1 adds the annotation to the beginning of the array. Passing other negative values produces undefined results.

HighlightAnnotation

HighlightAnnotation(Page page, System.Collections.Generic.IList< Quad > quadList)

Parameters

page: Page

The page to which the HighlightAnnotation is added.

quadList: System.Collections.Generic.IList< Quad >

A list of quads to highlight. Each quad encompasses a word or group of contiguous words in the text underlying the annotation.

Create a new HighlightAnnotation at the end of a page's annotation array. To create a FreeTextAnnotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position.

Property Documentation

AnnotationFeatureLevel

double AnnotationFeatureLevel[get, set]

The minimum PDF version necessary to support the features used in this annotation.

Color

Color Color[get, set]

The color of the annotation.

Contents

string Contents[get, set]

The text contents of the annotation.

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.

Flags

AnnotationFlags Flags[get, set]

The flags for the annotation.

InteriorColor

Color InteriorColor[get, set]

The interior color with which to fill the annotation's rectangle or circle.

The color of the border itself can be retrieved from Annotation.Color.

NormalAppearance

Form NormalAppearance[get, set]

The normal appearance of the annotation, represented as a Form XObject.

Opacity

double Opacity[get, set]

The constant opacity value used in painting a Markup annotation.

Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque).

OptionalContentMembershipDict

OptionalContentMembershipDict OptionalContentMembershipDict[get, set]

The OptionalContentMembershipDict property for this Annotation.

Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict.

By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict.

PDFDict

PDFDict PDFDict[get]

The underlying PDF dictionary for this annotation.

Retrieves the PDFDict representation of this annotation object.

Quads

System.Collections.Generic.IList< Quad > Quads[get, set]

A list of quads to mark. Each quad encompasses a word or group of contiguous words in the text underlying the annotation.

Rect

Rect Rect[get, set]

The size and location of the annotation on its page.

Subtype

string Subtype[get]

The annotation's subtype.

Title

string Title[get, set]

The title of the annotation.

Member Function Documentation

Dispose

void Dispose()

Returns:

void

Equals

override bool Equals(object obj)

Parameters

obj: object

Returns:

override bool

GenerateAppearance

override Form GenerateAppearance()

Returns:

override Form

A new Form object representing the highlight appearance. The caller takes ownership of the returned object.

Generate a new appearance stream for this highlight annotation.

Creates a Form containing filled quadrilateral paths for each quad in the annotation, using the annotation's color with a Multiply blend mode. The current opacity setting is applied to the appearance if it is less than fully opaque.

GetAnnotatedText

string GetAnnotatedText(bool splitLines)

Parameters

splitLines: bool

If true, text corresponding to each quadrilateral will be separated by CRLF characters. If false, text corresponding to each quadrilateral will be separated by spaces.

Returns:

string

The text marked by the annotation.

The text that is marked by the annotation. Marked text is defined as text which falls within one or more of the quadrilaterals specified by the annotation's QuadPoints entry. If the annotation marks partial words, only those portions of the word that are bounded within the QuadPoints array will be returned. If the annotation marks partial characters, the characters that fall partially within the annotation bounds may not be returned.

HasRichTextData

bool HasRichTextData()

Returns:

bool

true if the annotation contains Rich Text String content.

Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page.

IsCurrentlyVisible

bool IsCurrentlyVisible(OptionalContentContext occ)

Parameters

occ: OptionalContentContext

The optional content context in which to check visibility.

Returns:

bool

true if the annotation is currently visible.

Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy.

If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation.

This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method.

ToString

override string ToString()

Returns:

override string

A string describing this annotation, including its type and rectangle.

Returns a string representation of this annotation.