Foxit PDF SDK

Public Member Functions | List of all members
foxit.pdf.annots.Ink Class Reference
Inheritance diagram for foxit.pdf.annots.Ink:

## Public Member Functions
| Ink ()
| Constructor.
| Ink (Annot annot)
| Constructor, with parent class object. More...
void | EnableUseBezier (bool use_bezier)
| Enable to use bezier spline to generate ink path for ink annotation's appearance. More...
Path | GetInkList ()
| Get ink list data. More...
void | SetInkList (Path ink_list)
| Set ink list data. More...
Public Member Functions inherited from foxit.pdf.annots.Markup
| Markup (Annot annot)
| Constructor, with parent class object. More...
| Markup ()
| Constructor.
Note | AddReply ()
| Add a new reply to the end of reply list. More...
void | AddRichText (string content, RichTextStyle style)
| Add a new rich text string to the end. More...
Note | AddStateAnnot (string title, Markup.StateModel model, Markup.State state)
| Add a new state annotation. More...
float | GetBorderOpacity ()
| Get the border opacity of the annotation. More...
DateTime | GetCreationDateTime ()
| Get creation date time. More...
float | GetFillOpacity ()
| Get the fill opacity of the annotation. More...
MarkupArray | GetGroupElements ()
| Get an element (as markup annotation) from the group that current markup annotation belongs to. More...
Markup | GetGroupHeader ()
| Get the header annotation (as primary annotation) of the group that current markup annotation belongs to. More...
string | GetIntent ()
| Get intent name. More...
float | GetOpacity ()
| Get opacity value. More...
Popup | GetPopup ()
| Get related pop-up annotation. More...
Note | GetReply (int index)
| Get a reply by index. More...
int | GetReplyCount ()
| Count all replies. More...
string | GetRichTextContent (int index)
| Get text string of a rich text string specified by index. More...
int | GetRichTextCount ()
| Get the count of rich text strings. More...
RichTextStyle | GetRichTextStyle (int index)
| Get style data of a rich text string specified by index. More...
NoteArray | GetStateAnnots (Markup.StateModel model)
| Get all state annotations in a specified state model. More...
string | GetSubject ()
| Get subject string. More...
string | GetTitle ()
| Get title string. More...
void | InsertRichText (int index, string content, RichTextStyle style)
| Insert a new rich text string to the place which is specified by index. More...
bool | IsGrouped ()
| Check whether current markup annotation is in a group or not. More...
bool | RemoveAllReplies ()
| Remove all the replies. More...
bool | RemoveAllStateAnnots ()
| Remove all the state annotations. More...
bool | RemovePopup ()
| Remove related pop-up annotation. More...
bool | RemoveReply (int index)
| Remove a reply by index. More...
void | RemoveRichText (int index)
| Remove a rich text string specified by index. More...
void | SetBorderOpacity (float opacity)
| Set the border opacity of the annotation. More...
void | SetCreationDateTime (DateTime date_time)
| Set creation date time. More...
void | SetFillOpacity (float opacity)
| Set the fill opacity of the annotation. More...
void | SetIntent (string intent)
| Set intent name. More...
void | SetOpacity (float opacity)
| Set opacity value. More...
void | SetPopup (Popup popup)
| Set related pop-up annotation. More...
void | SetRichTextContent (int index, string content)
| Set text string of a rich text string specified by index. More...
void | SetRichTextStyle (int index, RichTextStyle style)
| Set style data of a rich text string specified by index. More...
void | SetSubject (string subject)
| Set subject string. More...
void | SetTitle (string title)
| Set title string. More...
bool | Ungroup ()
| Ungroup current markup annotation from the group it belongs to. More...
Public Member Functions inherited from foxit.pdf.annots.Annot
| Annot (PDFPage page, PDFDictionary annot_dict)
| Constructor, with PDF page and annotation's PDF dictionary. More...
| Annot (Annot annot)
| Constructor, with another annotation object. More...
| Annot ()
| Constructor.
PDFStream | GetAppearanceStream (Annot.AppearanceType type, string appearance_state)
| Get annotation's appearance stream with specified type and state. More...
int | GetBorderColor ()
| Get border color. More...
BorderInfo | GetBorderInfo ()
| Get border information. More...
string | GetContent ()
| Get content. More...
RectI | GetDeviceRect (Matrix2D matrix)
| Get annotation rectangle in device coordinate system. More...
PDFDictionary | GetDict ()
| Get annotation's dictionary object. More...
Matrix2D | GetDisplayMatrix (Matrix2D page_display_matrix)
| Get the display matrix, from PDF coordinate system to targeted device coordinate system. More...
int | GetFlags ()
| Get annotation flags. More...
int | GetIndex ()
| Get the index of current annotation in the page which current annotation belongs to. More...
DateTime | GetModifiedDateTime ()
| Get last modified date time. More...
PDFDictionary | GetOptionalContent ()
| Get the PDF dictionary of annotation's optional content. More...
PDFPage | GetPage ()
| Get the related PDF page. More...
RectF | GetRect ()
| Get rectangle, in PDF coordinate system. More...
Annot.Type | GetType ()
| Get actual annotation type of current annotation. More...
string | GetUniqueID ()
| Get unique ID. More...
bool | HasProperty (Annot.Property property)
| Whether current annotation has the specified annotation's property. More...
bool | IsEmpty ()
| Check whether current object is empty or not. More...
bool | IsMarkup ()
| Check if current annotation is a markup annotation. More...
bool | Move (RectF rect)
| Move current annotation to a new position, specified by a new rectangle in PDF coordinate system. More...
bool | Move (RectF rect, bool is_reset_appearance)
| Move current annotation to a new position, specified by a new rectangle in PDF coordinate system. More...
bool | RemoveProperty (Annot.Property property)
| Remove a specified annotation's property. More...
bool | ResetAppearanceStream ()
| Reset appearance stream. More...
bool | ResetAppearanceStream (bool is_generate_new_appearance_obj)
| Reset appearance stream. More...
void | SetBorderColor (int color)
| Set border color. More...
void | SetBorderInfo (BorderInfo border)
| Set border information. More...
void | SetContent (string content)
| Set content. More...
void | SetFlags (int flags)
| Set annotation flags. More...
void | SetModifiedDateTime (DateTime date_time)
| Set last modified date time. More...
void | SetUniqueID (string unique_id)
| Set unique ID. More...

## Additional Inherited Members
Public Types inherited from foxit.pdf.annots.Markup
enum | EndingStyle { EndingStyle.e_EndingStyleNone = 0, EndingStyle.e_EndingStyleSquare = 1, EndingStyle.e_EndingStyleCircle = 2, EndingStyle.e_EndingStyleDiamond = 3, EndingStyle.e_EndingStyleOpenArrow = 4, EndingStyle.e_EndingStyleClosedArrow = 5, EndingStyle.e_EndingStyleButt = 6, EndingStyle.e_EndingStyleROpenArrow = 7, EndingStyle.e_EndingStyleRClosedArrow = 8, EndingStyle.e_EndingStyleSlash = 9 }
| Enumeration for line ending style. More...
enum | MeasureType { MeasureType.e_MeasureTypeX = 0, MeasureType.e_MeasureTypeY = 1, MeasureType.e_MeasureTypeD = 2, MeasureType.e_MeasureTypeA = 3, MeasureType.e_MeasureTypeT = 4, MeasureType.e_MeasureTypeS = 5 }
| Enumeration for annotation's measure type. More...
enum | State { State.e_StateNone = 0, State.e_StateMarked = 1, State.e_StateUnmarked = 2, State.e_StateAccepted = 3, State.e_StateRejected = 4, State.e_StateCancelled = 5, State.e_StateCompleted = 6, State.e_StateDeferred = 7, State.e_StateFuture = 8 }
| Enumeration for markup annotation's state. More...
enum | StateModel { StateModel.e_StateModelMarked = 1, StateModel.e_StateModelReview = 2 }
| Enumeration for markup annotation's state model. More...
Public Types inherited from foxit.pdf.annots.Annot
enum | AppearanceType { AppearanceType.e_AppearanceTypeNormal = 0, AppearanceType.e_AppearanceTypeRollover = 1, AppearanceType.e_AppearanceTypeDown = 2 }
| Enumeration for the type of annotation's appearance. More...
enum | Flags { Flags.e_FlagInvisible = 0x0001, Flags.e_FlagHidden = 0x0002, Flags.e_FlagPrint = 0x0004, Flags.e_FlagNoZoom = 0x0008, Flags.e_FlagNoRotate = 0x0010, Flags.e_FlagNoView = 0x0020, Flags.e_FlagReadOnly = 0x0040, Flags.e_FlagLocked = 0x0080, Flags.e_FlagToggleNoView = 0x0100, Flags.e_FlagLockedContents = 0x0200 }
| Enumeration for PDF annotation flags. More...
enum | HighlightingMode { HighlightingMode.e_HighlightingNone = 0, HighlightingMode.e_HighlightingInvert = 1, HighlightingMode.e_HighlightingOutline = 2, HighlightingMode.e_HighlightingPush = 3, HighlightingMode.e_HighlightingToggle = 4 }
| Enumeration for PDF annotation highlighting mode. More...
enum | MKEntry { MKEntry.e_MKEntryRotation = 0, MKEntry.e_MKEntryBorderColor = 1, MKEntry.e_MKEntryBackgroundColor = 2, MKEntry.e_MKEntryNormalCaption = 3, MKEntry.e_MKEntryRolloverCaption = 4, MKEntry.e_MKEntryDownCaption = 5, MKEntry.e_MKEntryNormalIcon = 6, MKEntry.e_MKEntryRolloverIcon = 7, MKEntry.e_MKEntryDownIcon = 8, MKEntry.e_MKEntryIconFit = 9, MKEntry.e_MKEntryIconCaptionRelation = 10 }
| Enumeration for annotation's MK dictionary (an appearance characteristics) entry. More...
enum | MKIconCaptionRelation { MKIconCaptionRelation.e_MKRelationNoIcon = 0, MKIconCaptionRelation.e_MKRelationNoCaption = 1, MKIconCaptionRelation.e_MKRelationCaptionBelowIcon = 2, MKIconCaptionRelation.e_MKRelationCaptionAboveIcon = 3, MKIconCaptionRelation.e_MKRelationCaptionRight = 4, MKIconCaptionRelation.e_MKRelationCaptionLeft = 5, MKIconCaptionRelation.e_MKRelationCaptionOvrlayOnIcon = 6 }
| Enumeration for icon and caption relative position in annotation's MK dictionary. More...
enum | Property { Property.e_PropertyModifiedDate = 0, Property.e_PropertyCreationDate = 1, Property.e_PropertyBorderColor = 2, Property.e_PropertyFillColor = 3 }
| Enumeration for some PDF annotation property. More...
enum | Type { Type.e_UnknownType = 0, Type.e_Note = 1, Type.e_Link = 2, Type.e_FreeText = 3, Type.e_Line = 4, Type.e_Square = 5, Type.e_Circle = 6, Type.e_Polygon = 7, Type.e_PolyLine = 8, Type.e_Highlight = 9, Type.e_Underline = 10, Type.e_Squiggly = 11, Type.e_StrikeOut = 12, Type.e_Stamp = 13, Type.e_Caret = 14, Type.e_Ink = 15, Type.e_PSInk = 16, Type.e_FileAttachment = 17, Type.e_Sound = 18, Type.e_Movie = 19, Type.e_Widget = 20, Type.e_Screen = 21, Type.e_PrinterMark = 22, Type.e_TrapNet = 23, Type.e_Watermark = 24, Type.e_3D = 25, Type.e_Popup = 26, Type.e_Redact = 27, Type.e_RichMedia = 28, Type.e_PagingSeal = 29 }
| Enumeration for PDF annotation type. More...

## Detailed Description

An ink annotation represents a freehand "scribble" composed of one or more disjoint paths.
Ink annotation is a kind of markup annotation, so class Ink is derived from class Markup , offers functions to get/set ink annotation's properties and also and reset appearance stream of an ink annotation.
For an ink annotation, ink list property is required. So please ensure that an ink annotation has valid ink list property before resetting its appearance stream; otherwise the ink annotation cannot be reset appearance stream.

Note
  For a newly created ink annotation, if user calls function Annot.ResetAppearanceStream (inherited from Ink 's parent class) directly after setting required ink list property and not setting any other properties, the default appearance will be used:
  border width = 2.0, border style = foxit.pdf.annots.BorderInfo.Style.e_Solid , border color = 0xFFFF0000 (red), opacity = 1.0.

See also
  Markup

## Constructor & Destructor Documentation

## ◆ Ink()

foxit.pdf.annots.Ink.Ink | ( | Annot | annot | ) |
| inline

Constructor, with parent class object.

Parameters

  [in] | annot | Parent class object.

## Member Function Documentation

## ◆ EnableUseBezier()

void foxit.pdf.annots.Ink.EnableUseBezier | ( | bool | use_bezier | ) |
| inline

Enable to use bezier spline to generate ink path for ink annotation's appearance.

If this function is not called, Foxit PDF SDK will use bezier spline to generate ink path by default.

Parameters

  [in] | use_bezier | A boolean to decide whether to use bezier spline or not: true means to use bezier spline to generate ink path, while false means to use straight line to connect adjacent points to generate ink path.

Returns
  None.

## ◆ GetInkList()

Path foxit.pdf.annots.Ink.GetInkList | ( |  | ) |
| inline

Get ink list data.

Ink list property is required for an ink annotation and this property has effect on ink annotation's appearance. The ink list contains one or more stroked path.
In Foxit PDF SDK, class foxit.common.Path is used to represent the ink list data, but the point types for path object have been specially simplified for ink list. Only foxit.common.Path.PointType.e_TypeMoveTo and foxit.common.Path.PointType.e_TypeLineTo types are used for points in the ink list:

- a point with type foxit.common.Path.PointType.e_TypeMoveTo means that this point is the start point of a stroked path. Usually the first in path object should be this type.

- a point with type foxit.common.Path.PointType.e_TypeLineTo means that this point is in a stroked path, which is started by a point with type foxit.common.Path.PointType.e_TypeMoveTo , and when function Annot.ResetAppearanceStream (inherited from Ink's parent class) is called, Foxit PDF SDK will connect this point with other points by curves.

Operations such as move the ink annotation, or set a new ink path to this annotation will update the ink path data, so that the previous returned path object would become invalid. In this case, user should call this function again to obtain the new path object.

Returns
  The ink list data. If the return value of function common.Path.IsEmpty for the returned path object is true, that means no ink list data can be found.

## ◆ SetInkList()

void foxit.pdf.annots.Ink.SetInkList | ( | Path | ink_list | ) |
| inline

Set ink list data.

Ink list property is required for an ink annotation and this property has effect on ink annotation's appearance. The ink list contains one or more stroked path.
In Foxit PDF SDK, class foxit.common.Path is used to represent the ink list data, but the point types for path object have been specially simplified for ink list. Only foxit.common.Path.PointType.e_TypeMoveTo and foxit.common.Path.PointType.e_TypeLineTo types are used for points in the ink list:

- a point with type foxit.common.Path.PointType.e_TypeMoveTo means that this point is the start point of a stroked path. Usually the first in path object should be this type.

- a point with type foxit.common.Path.PointType.e_TypeLineTo means that this point is in a stroked path, which is started by a point with with type foxit.common.Path.PointType.e_TypeMoveTo , and when function Annot.ResetAppearanceStream (inherited from Ink's parent class) is called, Foxit PDF SDK will connect this point with other points by curves.

Specially, if input parameter ink_list contains bezier points (for example, added by function common.Path.CubicBezierTo ), the control points will be ignored and only the target point will be used in the ink list data.
User is strongly recommended to pass a valid path object only with point types foxit.common.Path.PointType.e_TypeMoveTo and foxit.common.Path.PointType.e_TypeLineTo .
If user wants the effect to be shown in annotation's appearance, please call function Annot.ResetAppearanceStream after this function.

Parameters

  [in] | ink_list | New path object which specifies the new list data.

Returns
  None.