InkAnnotation Class Documentation
class InkAnnotation : AnnotationNamespace:Datalogics::PDFL
- Inherits from:
Annotation
Detailed Description
A type of annotation allowing a user to edit a PDF document.
Ink annotations in a PDF file allow a user to work with a PDF document displayed on a screen just as if it were on paper, such as scribbling notes in the margins, or circling or underlining text. These types of annotations require a stylus or pen used on a tablet device.
Constructor & Destructor Documentation
InkAnnotation
Parameters
Create a new InkAnnotation at the end of a page's annotation array. To create a InkAnnotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position.
InkAnnotation
Parameters
page: PageThe page to which the annotation is added.
initialRect: RectA rectangle specifying the annotation's bounds, specified in user space coordinates.
addAfter: intWhere to add the annotation 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.
Create a new InkAnnotation at a specific index in the page's annotation array.
Property Documentation
AnnotationFeatureLevel
double AnnotationFeatureLevel[get, set]The minimum PDF version necessary to support the features used in this annotation.
BorderStyle
string BorderStyle[get, set]The border style.
Can be one of:
• S - Solid
• D - Dashed. The dash pattern is specified as an array (see DashPattern)
• B - Beveled
• I - Inset
• U - Underline
Other border styles may be defined in the future. Default is "S"
BorderStyleDashPattern
System.Collections.Generic.IList< System.Double > BorderStyleDashPattern[get, set]An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D).
The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units.
Default value is [3]
BorderStyleWidth
double BorderStyleWidth[get, set]The border width in points.
If this value is 0, no border is drawn. The default is 1.0.
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.
NumScribbles
int NumScribbles[get]The number of scribbles in the ink annotation.
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.
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
AddScribble
void AddScribble(System.Collections.Generic.IList< Point > scribble)Parameters
scribble: System.Collections.Generic.IList< Point >The array of points, in order, that define the vertices of the scribble in user space coordinates, to add to the ink annotation.
Returns:
voidThe vertices that define one of many scribbles in an ink annotation, in user space.
Dispose
void Dispose()Returns:
voidEquals
override bool Equals(object obj)Parameters
obj: object
Returns:
override boolGenerateAppearance
override Form GenerateAppearance()Returns:
override FormA new Form representing the annotation's appearance, or NULL if the graphic state could not be configured (for example, an invalid dash array).
Generate a new appearance stream with the current annotation properties.
Builds the visual representation of the ink annotation from its scribbles, stroke color, and border style. The annotation's Rect is updated to match the bounding box of the content.
GetScribble
System.Collections.Generic.IList< Point > GetScribble(int index)Parameters
index: intThe index of the scribble to get.
Returns:
System.Collections.Generic.IList< Point >An array of points, in order, that define the indexed scribble of the ink annotation, in user space coordinates.
HasRichTextData
bool HasRichTextData()Returns:
booltrue 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: OptionalContentContextThe optional content context in which to check visibility.
Returns:
booltrue 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.
RemoveScribble
void RemoveScribble(int index)Parameters
index: intThe array of points, in order, that define the vertices of the scribble in user space coordinates, to remove from the ink annotation.
Returns:
voidThe vertices that define one of many scribbles in an ink annotation, in user space.
ToString
override string ToString()Returns:
override stringA string describing this annotation, including its type and rectangle.
Returns a string representation of this annotation.