Foxit PDF SDK
foxit.pdf.annots.Ink Class Reference
Inheritance diagram for foxit.pdf.annots.Ink:
foxit.pdf.annots.Markup foxit.pdf.annots.Annot foxit.common.Base

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...
 
DateTime GetCreationDateTime ()
 Get creation date time.
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 SetCreationDateTime (DateTime date_time)
 Set creation date time.
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] (foxit.pdf.PDFPage).
More...
 
bool RemoveProperty (Annot.Property property)
 Remove a specified annotation's property.
More...
 
bool ResetAppearanceStream ()
 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
}
 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]annotParent 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_bezierA 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:

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:

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_listNew path object which specifies the new list data.
Returns
None.