Foxit PDF SDK
foxit::pdf::annots::Link Class Reference
Inheritance diagram for foxit::pdf::annots::Link:
foxit::pdf::annots::Annot foxit::Base

Public Member Functions

 Link ()
 Constructor.
 
 Link (const Annot &annot)
 Constructor, with parent class object. More...
 
 ~Link ()
 Destructor.
 
bool ExecuteJavaScriptAction ()
 Execute the JavaScript action associated with the link annotation. More...
 
actions::Action GetAction ()
 Get action. More...
 
HighlightingMode GetHighlightingMode ()
 Get highlighting mode. More...
 
QuadPointsArray GetQuadPoints () const
 Get quadrilaterals. More...
 
bool RemoveAction ()
 Remove action. More...
 
void SetAction (const actions::Action &action)
 Set action. More...
 
void SetHighlightingMode (HighlightingMode mode)
 Set highlighting mode. More...
 
void SetQuadPoints (const QuadPointsArray &quad_points_array)
 Set quadrilaterals. More...
 
- Public Member Functions inherited from foxit::pdf::annots::Annot
 Annot ()
 Constructor.
 
 Annot (const Annot &annot)
 Constructor, with another annotation object. More...
 
 Annot (const PDFPage &page, objects::PDFDictionary *annot_dict)
 Constructor, with PDF page and annotation's PDF dictionary. More...
 
virtual ~Annot ()
 Destructor.
 
objects::PDFStreamGetAppearanceStream (AppearanceType type, const char *appearance_state="") const
 Get annotation's appearance stream with specified type and state. More...
 
RGB GetBorderColor () const
 Get border color. More...
 
BorderInfo GetBorderInfo () const
 Get border information. More...
 
WString GetContent () const
 Get content. More...
 
RectI GetDeviceRect (const Matrix &matrix)
 Get annotation rectangle in device coordinate system. More...
 
objects::PDFDictionaryGetDict () const
 Get annotation's dictionary object. More...
 
Matrix GetDisplayMatrix (const Matrix &page_display_matrix)
 Get the display matrix, from PDF coordinate system to targeted device coordinate system. More...
 
uint32 GetFlags () const
 Get annotation flags. More...
 
int GetIndex () const
 Get the index of current annotation in the page which current annotation belongs to. More...
 
DateTime GetModifiedDateTime () const
 Get last modified date time. More...
 
objects::PDFDictionaryGetOptionalContent () const
 Get the PDF dictionary of annotation's optional content. More...
 
PDFPage GetPage () const
 Get the related PDF page. More...
 
RectF GetRect () const
 Get rectangle, in PDF coordinate system. More...
 
Type GetType () const
 Get actual annotation type of current annotation. More...
 
WString GetUniqueID () const
 Get unique ID. More...
 
bool HasProperty (Property property) const
 Whether current annotation has the specified annotation's property. More...
 
bool IsEmpty () const
 Check whether current object is empty or not. More...
 
bool IsMarkup () const
 Check if current annotation is a markup annotation. More...
 
bool Move (const RectF &rect)
 Move current annotation to a new position, specified by a new rectangle in PDF coordinate system. More...
 
bool Move (const RectF &rect, bool is_reset_appearance)
 Move current annotation to a new position, specified by a new rectangle in PDF coordinate system. More...
 
bool operator!= (const Annot &other) const
 Not equal operator. More...
 
Annotoperator= (const Annot &annot)
 Assign operator. More...
 
bool operator== (const Annot &other) const
 Equal operator. More...
 
bool RemoveProperty (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 (RGB color)
 Set border color. More...
 
void SetBorderInfo (const BorderInfo &border)
 Set border information. More...
 
void SetContent (const WString &content)
 Set content. More...
 
void SetFlags (uint32 flags)
 Set annotation flags. More...
 
void SetModifiedDateTime (const DateTime &date_time)
 Set last modified date time. More...
 
void SetUniqueID (const WString &unique_id)
 Set unique ID. More...
 
- Public Member Functions inherited from foxit::Base
FS_HANDLE Handle () const
 Get the handle of current object. More...
 

Additional Inherited Members

- Public Types inherited from foxit::pdf::annots::Annot
enum  AppearanceType { e_AppearanceTypeNormal = 0, e_AppearanceTypeRollover = 1, e_AppearanceTypeDown = 2 }
 Enumeration for the type of annotation's appearance. More...
 
enum  Flags {
  e_FlagInvisible = 0x0001, e_FlagHidden = 0x0002, e_FlagPrint = 0x0004, e_FlagNoZoom = 0x0008,
  e_FlagNoRotate = 0x0010, e_FlagNoView = 0x0020, e_FlagReadOnly = 0x0040, e_FlagLocked = 0x0080,
  e_FlagToggleNoView = 0x0100, e_FlagLockedContents = 0x0200
}
 Enumeration for PDF annotation flags. More...
 
enum  HighlightingMode {
  e_HighlightingNone = 0, e_HighlightingInvert = 1, e_HighlightingOutline = 2, e_HighlightingPush = 3,
  e_HighlightingToggle = 4
}
 Enumeration for PDF annotation highlighting mode. More...
 
enum  MKEntry {
  e_MKEntryRotation = 0, e_MKEntryBorderColor = 1, e_MKEntryBackgroundColor = 2, e_MKEntryNormalCaption = 3,
  e_MKEntryRolloverCaption = 4, e_MKEntryDownCaption = 5, e_MKEntryNormalIcon = 6, e_MKEntryRolloverIcon = 7,
  e_MKEntryDownIcon = 8, e_MKEntryIconFit = 9, e_MKEntryIconCaptionRelation = 10
}
 Enumeration for annotation's MK dictionary (an appearance characteristics) entry. More...
 
enum  MKIconCaptionRelation {
  e_MKRelationNoIcon = 0, e_MKRelationNoCaption = 1, e_MKRelationCaptionBelowIcon = 2, e_MKRelationCaptionAboveIcon = 3,
  e_MKRelationCaptionRight = 4, e_MKRelationCaptionLeft = 5, e_MKRelationCaptionOvrlayOnIcon = 6
}
 Enumeration for icon and caption relative position in annotation's MK dictionary. More...
 
enum  Property { e_PropertyModifiedDate = 0, e_PropertyCreationDate = 1, e_PropertyBorderColor = 2, e_PropertyFillColor = 3 }
 Enumeration for some PDF annotation property. More...
 
enum  Type {
  e_UnknownType = 0, e_Note = 1, e_Link = 2, e_FreeText = 3,
  e_Line = 4, e_Square = 5, e_Circle = 6, e_Polygon = 7,
  e_PolyLine = 8, e_Highlight = 9, e_Underline = 10, e_Squiggly = 11,
  e_StrikeOut = 12, e_Stamp = 13, e_Caret = 14, e_Ink = 15,
  e_PSInk = 16, e_FileAttachment = 17, e_Sound = 18, e_Movie = 19,
  e_Widget = 20, e_Screen = 21, e_PrinterMark = 22, e_TrapNet = 23,
  e_Watermark = 24, e_3D = 25, e_Popup = 26, e_Redact = 27,
  e_RichMedia = 28, e_PagingSeal = 29
}
 Enumeration for PDF annotation type. More...
 

Detailed Description

A link annotation represents an action to be performed.
Class annots::Link is derived from Annot, and offers functions to get/set link annotation's properties and reset appearance stream of a link annotation.

Note
For a newly created link annotation, if user calls function Annot::ResetAppearanceStream directly without setting any other properties, the default appearance will be used:
border width = 1.0, border style = BorderInfo::e_Solid, border color = 0xFFFF0000 (red), opacity = 1.0, highlighting mode = Annot::e_HighlightingNone.
See also
Annot

Constructor & Destructor Documentation

◆ Link()

foxit::pdf::annots::Link::Link ( const Annot annot)
explicit

Constructor, with parent class object.

Parameters
[in]annotParent class object.

Member Function Documentation

◆ ExecuteJavaScriptAction()

bool foxit::pdf::annots::Link::ExecuteJavaScriptAction ( )

Execute the JavaScript action associated with the link annotation.

Returns
true means success, while false means failure.

◆ GetAction()

actions::Action foxit::pdf::annots::Link::GetAction ( )

Get action.

Returns
An action object that receives the action data. If the return value of function actions::Action::IsEmpty for the returned action object is true, that means no action.

◆ GetHighlightingMode()

HighlightingMode foxit::pdf::annots::Link::GetHighlightingMode ( )

Get highlighting mode.

Returns
Highlighting mode value. Please refer to values starting from Annot::e_HighlightingNone and this would be one of these values except Annot::e_HighlightingToggle. -1 means no highlighting mode value is found.

◆ GetQuadPoints()

QuadPointsArray foxit::pdf::annots::Link::GetQuadPoints ( ) const

Get quadrilaterals.

The order of points in a quadrilateral should be:

  • The first point is the point in left-top corner of the quadrilateral.
  • The second point is the point in right-top corner of the quadrilateral.
  • The third point is the point in left-bottom corner of the quadrilateral.
  • The fourth point is the point in right-bottom corner of the quadrilateral.
Returns
A quadrilateral points array that receives the quadrilaterals value.

◆ RemoveAction()

bool foxit::pdf::annots::Link::RemoveAction ( )

Remove action.

Returns
true means success, while false means failure.

◆ SetAction()

◆ SetHighlightingMode()

void foxit::pdf::annots::Link::SetHighlightingMode ( HighlightingMode  mode)

Set highlighting mode.

Parameters
[in]modeNew highlighting mode value. Please refer to values starting from Annot::e_HighlightingNone and this should be one of these values except Annot::e_HighlightingToggle.
Returns
None.

◆ SetQuadPoints()

void foxit::pdf::annots::Link::SetQuadPoints ( const QuadPointsArray quad_points_array)

Set quadrilaterals.

This property has effect on the link annotation's appearance.The order of points in a quadrilateral should be :

  • The first point is the point in left-top corner of the quadrilateral.
  • The second point is the point in right-top corner of the quadrilateral.
  • The third point is the point in left-bottom corner of the quadrilateral.
  • The fourth point is the point in right-bottom corner of the quadrilateral.

If user wants the new quadrilaterals has effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting quadrilaterals.

Parameters
[in]quad_points_arrayA valid array of quadrilaterals. It should not be an empty array.
Returns
None.