Foxit PDF SDK

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

## Public Member Functions
| FreeText ()
| Constructor.
| FreeText (const Annot &annot)
| Constructor, with parent class object. More...
| ~FreeText ()
| Destructor.
void | AllowTextOverflow (bool is_text_overflow)
| Decide whether to allow the text of freetext to overflow or not. More...
common::Alignment | GetAlignment () const
| Get alignment value. More...
EndingStyle | GetCalloutLineEndingStyle () const
| Get line ending style of the start point in a callout line. More...
PointFArray | GetCalloutLinePoints () const
| Get a point of callout line points. More...
DefaultAppearance | GetDefaultAppearance ()
| Get default appearance data. More...
RGB | GetFillColor () const
| Get fill color. More...
RectF | GetInnerRect () const
| Get the inner rectangle. More...
common::Rotation | GetRotation ()
| Get current rotation value (in clockwise). More...
Matrix | GetTextMatrix () const
| Get matrix in default appearance data for text in current free text annotation. More...
void | Rotate (common::Rotation rotation)
| Rotate current annotation from current state with specified rotation value (in clockwise). More...
void | SetAlignment (common::Alignment alignment)
| Set alignment value. More...
void | SetCalloutLineEndingStyle (EndingStyle ending_style)
| Set line ending style of the start point in a callout line. More...
void | SetCalloutLinePoints (const PointFArray &point_array)
| Set points for callout line. More...
bool | SetDefaultAppearance (const DefaultAppearance &default_ap)
| Set default appearance data. More...
void | SetFillColor (RGB fill_color)
| Set fill color. More...
void | SetInnerRect (const RectF &inner_rect)
| Set the inner rectangle. More...
void | SetRotation (common::Rotation rotation)
| Set rotation value (in clockwise). More...
void | SetTextMatrix (const Matrix &text_matrix)
| Set matrix in default appearance data for text in current free text annotation. More...
Public Member Functions inherited from foxit::pdf::annots::Markup
| Markup (const Annot &annot)
| Constructor, with parent class object. More...
| Markup ()
| Constructor.
| ~Markup ()
| Destructor.
Note | AddReply ()
| Add a new reply to the end of reply list. More...
void | AddRichText (const WString &content, const RichTextStyle &style)
| Add a new rich text string to the end. More...
Note | AddStateAnnot (const WString &title, StateModel model, State state)
| Add a new state annotation. More...
float | GetBorderOpacity () const
| Get the border opacity of the annotation. More...
DateTime | GetCreationDateTime () const
| Get creation date time. More...
float | GetFillOpacity () const
| 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 () const
| Get intent name. More...
float | GetOpacity () const
| Get opacity value. More...
Popup | GetPopup ()
| Get related pop-up annotation. More...
Note | GetReply (int index) const
| Get a reply by index. More...
int | GetReplyCount ()
| Count all replies. More...
WString | GetRichTextContent (int32 index)
| Get text string of a rich text string specified by index. More...
int32 | GetRichTextCount ()
| Get the count of rich text strings. More...
RichTextStyle | GetRichTextStyle (int32 index)
| Get style data of a rich text string specified by index. More...
NoteArray | GetStateAnnots (StateModel model)
| Get all state annotations in a specified state model. More...
WString | GetSubject () const
| Get subject string. More...
WString | GetTitle () const
| Get title string. More...
void | InsertRichText (int32 index, const WString &content, const 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 (const DateTime &date_time)
| Set creation date time. More...
void | SetFillOpacity (float opacity)
| Set the fill opacity of the annotation. More...
void | SetIntent (const String &intent)
| Set intent name. More...
void | SetOpacity (float opacity)
| Set opacity value. More...
void | SetPopup (const Popup &popup)
| Set related pop-up annotation. More...
void | SetRichTextContent (int32 index, const WString &content)
| Set text string of a rich text string specified by index. More...
void | SetRichTextStyle (int32 index, const RichTextStyle &style)
| Set style data of a rich text string specified by index. More...
void | SetSubject (const WString &subject)
| Set subject string. More...
void | SetTitle (const WString &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 (const PDFPage &page, objects::PDFDictionary *annot_dict)
| Constructor, with PDF page and annotation's PDF dictionary. More...
| Annot (const Annot &annot)
| Constructor, with another annotation object. More...
| Annot ()
| Constructor.
virtual | ~Annot ()
| Destructor.
objects::PDFStream * | GetAppearanceStream (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::PDFDictionary * | GetDict () 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::PDFDictionary * | GetOptionalContent () 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...
Annot & | operator= (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::Markup
enum | EndingStyle { e_EndingStyleNone = 0, e_EndingStyleSquare = 1, e_EndingStyleCircle = 2, e_EndingStyleDiamond = 3, e_EndingStyleOpenArrow = 4, e_EndingStyleClosedArrow = 5, e_EndingStyleButt = 6, e_EndingStyleROpenArrow = 7, e_EndingStyleRClosedArrow = 8, e_EndingStyleSlash = 9 }
| Enumeration for line ending style. More...
enum | MeasureType { e_MeasureTypeX = 0, e_MeasureTypeY = 1, e_MeasureTypeD = 2, e_MeasureTypeA = 3, e_MeasureTypeT = 4, e_MeasureTypeS = 5 }
| Enumeration for annotation's measure type. More...
enum | State { e_StateNone = 0, e_StateMarked = 1, e_StateUnmarked = 2, e_StateAccepted = 3, e_StateRejected = 4, e_StateCancelled = 5, e_StateCompleted = 6, e_StateDeferred = 7, e_StateFuture = 8 }
| Enumeration for markup annotation's state. More...
enum | StateModel { e_StateModelMarked = 1, e_StateModelReview = 2 }
| Enumeration for markup annotation's state model. More...
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 free text annotation displays text directly on the page. So free text annotation does not need a related pop-up annotation to show the text.
Free text annotation is a kind of markup annotation, so class FreeText is derived from class Markup, and also offers functions to get/set free text annotation's properties and reset appearance stream of a free text annotation.

Note
  For a newly created free text annotation, if user calls function Annot::ResetAppearanceStream directly without setting any properties, the default appearance will be used:
  border width = 1.0, border style = BorderInfo::e_Solid, border color = 0xFFFF0000 (red), opacity = 1.0, alignment = 0 (as left-justified), default appearance flags = DefaultAppearance::e_FlagFont| DefaultAppearance::e_FlagTextColor| DefaultAppearance::e_FlagFontSize, default appearance font is created based on common::Font::e_StdIDHelvetica, default appearance text size = 12, default appearance text color = 0xFF0000FF (blue).

See also
  Markup

## Constructor & Destructor Documentation

## ◆ FreeText()

foxit::pdf::annots::FreeText::FreeText | ( | const Annot & | annot | ) |
| explicit

Constructor, with parent class object.

Parameters

  [in] | annot | Parent class object.

## Member Function Documentation

## ◆ AllowTextOverflow()

void foxit::pdf::annots::FreeText::AllowTextOverflow | ( | bool | is_text_overflow | ) |

Decide whether to allow the text of freetext to overflow or not.

For callout object and textbox object, if this function is not called,text of callout or textbox is allowed to overflow by default. For typewriter object, if this function is not called, text of typerwriter is not allowed to overflow by default.

Parameters

  [in] | is_text_overflow | A boolean value to decide whether text content is allowed to overflow or not when the size of the freetext rectangle is smaller than the size of the text content: true means text content is allowed to overflow. So in this case, overflowed text content will be truncated. false means text content is not allowed to overflow. So in this case, the callout rectangle will be adapted to contain the whole text content automatically.

Returns
  None.

## ◆ GetAlignment()

common::Alignment foxit::pdf::annots::FreeText::GetAlignment | ( |  | ) | const

Get alignment value.

Deprecated:
  Current function has been deprecated since Foxit PDF SDK 8.2. This property will not have any effect on free text annotation's appearance any more.For getting the alignment property, please call function Markup::GetRichTextStyle. Please refer to RichText related function in Markup for more details.

This property has effect on free text annotation's appearance.

Returns
  The alignment value. Please refer to values starting from common::e_AlignmentLeft and this would be one of these values.

## ◆ GetCalloutLineEndingStyle()

EndingStyle foxit::pdf::annots::FreeText::GetCalloutLineEndingStyle | ( |  | ) | const

Get line ending style of the start point in a callout line.

Only when the intent name of a free text annotation is "FreeTextCallout", this free text annotation can have line ending style property, and this property has effect on this kind of free text annotation's appearance.

Returns
  The line ending style of the start point. Please refer to values starting from Markup::e_EndingStyleNone and this would be one of these values.

## ◆ GetCalloutLinePoints()

PointFArray foxit::pdf::annots::FreeText::GetCalloutLinePoints | ( |  | ) | const

Get a point of callout line points.

Only when the intent name of a free text annotation is "FreeTextCallout", this free text annotation can have callout line points property, and this property has effect on this kind of free text annotation's appearance. For a callout line, it can contain 2 or 3 points:

- 2 points represent the starting point and ending point of the callout line.
- 3 points represent the starting point, knee point, and ending point of the callout line.

Returns
  A point array that represents the points used for callout line of a callout free text annotation.

## ◆ GetDefaultAppearance()

DefaultAppearance foxit::pdf::annots::FreeText::GetDefaultAppearance | ( |  | ) |

Get default appearance data.

This property has effect on free text annotation's appearance. Default appearance data can be used in formatting text.

Returns
  The default appearance data.

## ◆ GetFillColor()

RGB foxit::pdf::annots::FreeText::GetFillColor | ( |  | ) | const

Get fill color.

This property has effect on free text annotation's appearance. Fill color is used to fill the background of text box, and also for some callout line ending styles:
"Square", "Circle", "Diamond", "ClosedArrow", "RClosedArrow".

Returns
  The fill color. Format: 0xRRGGBB. If no fill color can be found, 0x000000 will be returned.

## ◆ GetInnerRect()

RectF foxit::pdf::annots::FreeText::GetInnerRect | ( |  | ) | const

Get the inner rectangle.

This property has effect on free text annotation's appearance. For a free text annotation, inner rectangle is where the annotation's text should be displayed. The inner rectangle could be just the same as or less than the annotation's rectangle, and should never be larger than annotation's rectangle.

Returns
  The inner rectangle.

## ◆ GetRotation()

common::Rotation foxit::pdf::annots::FreeText::GetRotation | ( |  | ) |

Get current rotation value (in clockwise).

Returns
  Current rotation value (in clockwise). Please refer to values starting from common::e_Rotation0 and this would be one of these values.

## ◆ GetTextMatrix()

Matrix foxit::pdf::annots::FreeText::GetTextMatrix | ( |  | ) | const

Get matrix in default appearance data for text in current free text annotation.

Deprecated:
  Current function has been deprecated since Foxit PDF SDK 7.4. This property will not have any effect on annotation's appearance any more.

This property has effect on free text annotation's appearance. This property can be used to change the skew of text's display.

Returns
  Matrix used for text in default appearance.

## ◆ Rotate()

void foxit::pdf::annots::FreeText::Rotate | ( | common::Rotation | rotation | ) |

Rotate current annotation from current state with specified rotation value (in clockwise).

Parameters

  [in] | rotation | Rotation value which represents the degree used to rotate current annotation from current state in clockwise. Please refer to values starting from common::e_Rotation0 and this should be one of these values except common::e_RotationUnknown. Specially, if the input value is common::e_Rotation0 (which means not to rotate current annotation), current function will do nothing.

Returns
  true means success, while false means failure.

## ◆ SetAlignment()

void foxit::pdf::annots::FreeText::SetAlignment | ( | common::Alignment | alignment | ) |

Set alignment value.

Deprecated:
  Current function has been deprecated since Foxit PDF SDK 8.2. This property will not have any effect on free text annotation's appearance any more.For setting the alignment property, please call function Markup::SetRichTextStyle. Please refer to RichText related function in Markup for more details.

This property has effect on free text annotation's appearance. If user wants the new alignment has effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting new alignment.

Parameters

  [in] | alignment | The new alignment value. Please refer to values starting from common::e_AlignmentLeft and this should be one of these values. If other values is used to set, common::e_AlignmentLeft will be used by default.

Returns
  None.

## ◆ SetCalloutLineEndingStyle()

void foxit::pdf::annots::FreeText::SetCalloutLineEndingStyle | ( | EndingStyle | ending_style | ) |

Set line ending style of the start point in a callout line.

Only when the intent name of a free text annotation is "FreeTextCallout", this free text annotation can have line ending style property, and this property has effect on this kind of free text annotation's appearance.
If user wants the new line ending style has effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting new line ending style.

Parameters

  [in] | ending_style | The line ending style for the start point to be set. Please refer to values starting from Markup::e_EndingStyleNone and this should be one of these values.

Returns
  None.

## ◆ SetCalloutLinePoints()

void foxit::pdf::annots::FreeText::SetCalloutLinePoints | ( | const PointFArray & | point_array | ) |

Set points for callout line.

Only when the intent name of a free text annotation is "FreeTextCallout", this free text annotation can have callout line points property, and this property has effect on this kind of free text annotation's appearance. For a callout line, it can contain 2 or 3 points:

- 2 points represent the starting point and ending point of the callout line.
- 3 points represent the starting point, knee point, and ending point of the callout line.

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

Parameters

  [in] | point_array | New point array that specifies the starting point, knee point(if any) and ending point of the callout line. The count of elements should be 2 or 3: 2 points meand starting point and ending point; 3 points means the startign point, knee point and ending point. If the count of elements is above 3, only the first 3 points will be used to set callout line.

Returns
  None.

## ◆ SetDefaultAppearance()

bool foxit::pdf::annots::FreeText::SetDefaultAppearance | ( | const DefaultAppearance & | default_ap | ) |

Set default appearance data.

This property has effect on free text annotation's appearance. Default appearance data can be used in formatting text.
If user wants the new default appearance data has effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting new default appearance data.

Parameters

  [in] | default_ap | The new default appearance data to be set. flags of input data can be used to decide which information is/are to be updated with the new data; for those no updated data, they will keep to use old data.

Returns
  true means success, while false means failure. Specially, this function will return false if the parameter default_ap contains any incorrect value, for example:
  - flags of input data includes the DefaultAppearance::e_FlagFont but font of input data is invalid.
  - flags of input data includes the DefaultAppearance::e_FlagFontSize but text size of input data is not bigger than zero.

## ◆ SetFillColor()

void foxit::pdf::annots::FreeText::SetFillColor | ( | RGB | fill_color | ) |

Set fill color.

This property has effect on free text annotation's appearance. Fill color is used to fill the background of text box, and also for some callout line ending styles:
"Square", "Circle", "Diamond", "ClosedArrow", "RClosedArrow".
If user wants the new fill color has effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting new fill color.

Parameters

  [in] | fill_color | New fill color to be set. Format: 0xRRGGBB.

Returns
  None.

## ◆ SetInnerRect()

void foxit::pdf::annots::FreeText::SetInnerRect | ( | const RectF & | inner_rect | ) |

Set the inner rectangle.

This property has effect on free text annotation's appearance. For a free text annotation, inner rectangle is where the annotation's text should be displayed. The inner rectangle could be just the same as or less than the annotation's rectangle, and should never be larger than annotation's rectangle.
If user wants the new inner rectangle has effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting new inner rectangle.

Parameters

  [in] | inner_rect | New inner rectangle to be set. It should be same as or less than annotation's rectangle.

Returns
  None.

## ◆ SetRotation()

void foxit::pdf::annots::FreeText::SetRotation | ( | common::Rotation | rotation | ) |

Set rotation value (in clockwise).

This property has effect on free text annotation's appearance. If user wants the new rotation has effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting new rotation.

Parameters

  [in] | rotation | New rotation value (in clockwise) to be set to current free text annotation. Please refer to values starting from common::e_Rotation0 and this should be one of these values except common::e_RotationUnknown.

Returns
  None.

## ◆ SetTextMatrix()

void foxit::pdf::annots::FreeText::SetTextMatrix | ( | const Matrix & | text_matrix | ) |

Set matrix in default appearance data for text in current free text annotation.

Deprecated:
  Current function has been deprecated since Foxit PDF SDK 7.4. This property will not have any effect on annotation's appearance any more.

This property has effect on free text annotation's appearance. This property can be used to change the skew of text's display.
If user wants the new text matrix has effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting new text matrix.

Parameters

  [in] | text_matrix | The new text matrix.

Returns
  None.