Foxit PDF SDK

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

## Public Types
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...

## Public Member Functions
| 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...

## Detailed Description

Markup annotations are used primarily to mark up PDF documents. These annotations have text that appears as part of the annotation and may be displayed in other ways by a viewer application, such as in a Comments pane.
Class foxit.pdf.annots.Markup is derived from class Annot , and is also the base class for all PDF markup annotations. It offers the base functions to get/set markup annotation's common properties. For concrete markup annotation types, please refer to derived classes.
Function Annot.IsMarkup can be used to judge if an annotation is a markup annotation.

Note
  Currently, following kinds of functions only support note, highlight, underline, strikeout, squiggly, square, circle, free text, stamp, caret, ink, line, polygon, polyline, file attachment annotations:

  - All the "set" functions in class Markup .

  - Function Annot.ResetAppearanceStream (inherited from Markup 's parent class).

See also
  Annot

## Member Enumeration Documentation

## ◆ EndingStyle

enum foxit.pdf.annots.Markup.EndingStyle
| strong

Enumeration for line ending style.

Values of this enumeration should be used alone.

Enumerator
e_EndingStyleNone | No special line ending.
e_EndingStyleSquare | A square filled with the annotation's interior color if any.
e_EndingStyleCircle | A circle filled with the annotation's interior color if any.
e_EndingStyleDiamond | A diamond shape filled with the annotation's interior color if any.
e_EndingStyleOpenArrow | Two short lines meeting in an acute angle to form an open arrowhead.
e_EndingStyleClosedArrow | Two short lines meeting in an acute angle as in the OpenArrow style and connected by a third line to form a triangular closed arrowhead filled with the annotation's interior color if any.
e_EndingStyleButt | A short line at the endpoint perpendicular to the line itself.
e_EndingStyleROpenArrow | Two short lines in the reverse direction from OpenArrow.
e_EndingStyleRClosedArrow | A triangular closed arrowhead in the reverse direction from ClosedArrow.
e_EndingStyleSlash | A short line at the endpoint approximately 30 degrees clockwise from perpendicular to the line itself.

## ◆ MeasureType

enum foxit.pdf.annots.Markup.MeasureType
| strong

Enumeration for annotation's measure type.

Values of this enumeration should be used alone.

Enumerator
e_MeasureTypeX | Measurement of change along the x axis.
e_MeasureTypeY | Measurement of change along the y axis.
e_MeasureTypeD | Measurement of distance in any direction.
e_MeasureTypeA | Measurement of area.
e_MeasureTypeT | Measurement of angles.
e_MeasureTypeS | Measurement of the slope of a line.

## ◆ State

enum foxit.pdf.annots.Markup.State
| strong

Enumeration for markup annotation's state.

Values of this enumeration should be used alone.

Enumerator
e_StateNone | (Used with state model foxit.pdf.annots.Markup.StateModel.e_StateModelReview ) The user has indicated nothing about the change.
e_StateMarked | (Used with state model foxit.pdf.annots.Markup.StateModel.e_StateModelMarked ) The annotation has been marked by the user.
e_StateUnmarked | (Used with state model foxit.pdf.annots.Markup.StateModel.e_StateModelMarked ) The annotation has not been marked by the user.
e_StateAccepted | (Used with state model foxit.pdf.annots.Markup.StateModel.e_StateModelReview ) The user agrees with the change.
e_StateRejected | (Used with state model foxit.pdf.annots.Markup.StateModel.e_StateModelReview ) The user disagrees with the change.
e_StateCancelled | (Used with state model foxit.pdf.annots.Markup.StateModel.e_StateModelReview ) The change has been cancelled.
e_StateCompleted | (Used with state model foxit.pdf.annots.Markup.StateModel.e_StateModelReview ) The change has been completed.
e_StateDeferred | (Used with state model foxit.pdf.annots.Markup.StateModel.e_StateModelReview ) The change has been deferred.
e_StateFuture | (Used with state model foxit.pdf.annots.Markup.StateModel.e_StateModelReview ) The change will be working in the future.

## ◆ StateModel

enum foxit.pdf.annots.Markup.StateModel
| strong

Enumeration for markup annotation's state model.

Values of this enumeration should be used alone.

Enumerator
e_StateModelMarked | Markup annotation state model: marked.
e_StateModelReview | Markup annotation state model: review.

## Constructor & Destructor Documentation

## ◆ Markup()

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

Constructor, with parent class object.

Parameters

  [in] | annot | Parent class object.

## Member Function Documentation

## ◆ AddReply()

Note foxit.pdf.annots.Markup.AddReply | ( |  | ) |
| inline

Add a new reply to the end of reply list.

Returns
  A new note annotation that represents the new reply annotation.

## ◆ AddRichText()

void foxit.pdf.annots.Markup.AddRichText | ( | string | content,
|  | RichTextStyle | style
| ) |  |
| inline

Add a new rich text string to the end.

Markup annotation's content can consist of several rich text strings. Specially, if current annotation is a freetext and its intent is "FreeTextTypewriter", text aligment of input style will be set to all rich text strings of current freetext annotation.

Parameters

  [in] | content | Text string used as content of the new rich text string. This should not be an empty string.
  [in] | style | Style data used for the new rich text string.

Returns
  None.

## ◆ AddStateAnnot()

Note foxit.pdf.annots.Markup.AddStateAnnot | ( | string | title,
|  | Markup.StateModel | model,
|  | Markup.State | state
| ) |  |
| inline

Add a new state annotation.

A markup annotation may have one or several author-specific state associated with it. Each state is not specified in the annotation itself but in a separate note annotation.

- For state model foxit.pdf.annots.Markup.StateModel.e_StateModelReview , this function will add a new state annotation once this function is called.

- For state model foxit.pdf.annots.Markup.StateModel.e_StateModelMarked , this function will find the latest state annotation with this model and the same title as input parameter title: if find one, this function will change state value of the found state annotation and return the found state annotation directly; if not find any suitable state annotation, this function will add a new one and return the new state annotation.

Parameters

  [in] | title | Title for the new state annotation. Title can be used to identify the user who added current annotation. This can be an empty string but users are strongly recommended to set a meaningful title when using this function.
  [in] | model | State model for the new state annotation. It should be one of following values: foxit.pdf.annots.Markup.StateModel.e_StateModelMarked foxit.pdf.annots.Markup.StateModel.e_StateModelReview
  [in] | state | State value for the new state annotation. It should be one of following values: If parameter model is foxit.pdf.annots.Markup.StateModel.e_StateModelMarked , the state should be foxit.pdf.annots.Markup.State.e_StateMarked or foxit.pdf.annots.Markup.State.e_StateUnmarked . If parameter model is foxit.pdf.annots.Markup.StateModel.e_StateModelReview , the state should be foxit.pdf.annots.Markup.State.e_StateAccepted , foxit.pdf.annots.Markup.State.e_StateRejected , foxit.pdf.annots.Markup.State.e_StateCancelled , foxit.pdf.annots.Markup.State.e_StateCompleted , foxit.pdf.annots.Markup.State.e_StateDeferred , foxit.pdf.annots.Markup.State.e_StateFuture , or foxit.pdf.annots.Markup.State.e_StateNone .

Returns
  A note annotation which represents the new state annotation. Last modified date time of the returned state annotation would be set with current local system time by default.

## ◆ GetBorderOpacity()

float foxit.pdf.annots.Markup.GetBorderOpacity | ( |  | ) |
| inline

Get the border opacity of the annotation.

Returns
  The opacity value. Valid range: 0.0 to 1.0. 0.0 means full transparency and 1.0 means full opaque.

## ◆ GetCreationDateTime()

DateTime foxit.pdf.annots.Markup.GetCreationDateTime | ( |  | ) |
| inline

Get creation date time.

Returns
  A date and time object that receives the creation date time. If there is no creation date time information, a date and time object with all 0 values would be returned.

## ◆ GetFillOpacity()

float foxit.pdf.annots.Markup.GetFillOpacity | ( |  | ) |
| inline

Get the fill opacity of the annotation.

Returns
  The opacity value. Valid range: 0.0 to 1.0. 0.0 means full transparency and 1.0 means full opaque.

## ◆ GetGroupElements()

MarkupArray foxit.pdf.annots.Markup.GetGroupElements | ( |  | ) |
| inline

Get an element (as markup annotation) from the group that current markup annotation belongs to.

Markup annotations can be grouped. The group consists of a primary annotation and one or more subordinate annotations. Some entries in the primary annotation are treated as group attributes that should apply to the group as a whole; the corresponding entries in the subordinate annotations should be ignored. These entries are contents, last modification time, fill color/border color, title, pop-up annotation, creation time, subject, and open status. So user should respect the group property: when a property of an annotation in group is changed, the other annotations in the same group should be changed too.
Operations that manipulate any annotation in a group, such as movement, cut, and copy, should be treated by viewer applications as acting on the entire group.

Returns
  An array that contains all the markup annotations in the group. If current annotation does not belong to a group, this function will return an empty array.

## ◆ GetGroupHeader()

Markup foxit.pdf.annots.Markup.GetGroupHeader | ( |  | ) |
| inline

Get the header annotation (as primary annotation) of the group that current markup annotation belongs to.

Markup annotations can be grouped. The group consists of a primary annotation and one or more subordinate annotations. Some entries in the primary annotation are treated as group attributes that should apply to the group as a whole; the corresponding entries in the subordinate annotations should be ignored. These entries are contents, last modification time, fill color/border color, title, pop-up annotation, creation time, subject, and open status. So user should respect the group property: when a property of an annotation in group is changed, the other annotations in the same group should be changed too.
Operations that manipulate any annotation in a group, such as movement, cut, and copy, should be treated by viewer applications as acting on the entire group.

Returns
  The header markup annotation of the group that current markup annotation belongs to. If the return value of function Annot.IsEmpty (inherited from Markup's parent class) for the returned markup annotation object is true, that means current annotation does not belong to a group.

## ◆ GetIntent()

string foxit.pdf.annots.Markup.GetIntent | ( |  | ) |
| inline

Get intent name.

Following annotation types have predefined intent name:

- Free text annotation's predefined intent name: "FreeTextCallout", "FreeTextTypewriter". If no intent name is used, free text annotation would be shown as a text box.

- Line annotation's predefined intent name: "LineArrow", "LineDimension". If no intent name is used, line annotation would be shown as a common line.

- Polygon's predefined intent name: "PolygonCloud", "PolygonDimension". If no intent name is used, polygon annotation would be shown as a common polygon.

- Polyline annotation's predefined intent name: "PolyLineDimension". If no intent name is used, polyline annotation would be shown as a common polyline.

Returns
  The intent name string.

## ◆ GetOpacity()

float foxit.pdf.annots.Markup.GetOpacity | ( |  | ) |
| inline

Get opacity value.

This property has effect on markup annotation's appearance.

Returns
  The opacity value. Valid range: 0.0 to 1.0. 0.0 means full transparency and 1.0 means full opaque.

## ◆ GetPopup()

Popup foxit.pdf.annots.Markup.GetPopup | ( |  | ) |
| inline

Get related pop-up annotation.

Most markup annotations can have a pop-up annotation to show their content, except sound and free text annotations:

- For sound annotation, it does not have a pop-up annotation.

- For free text annotation, it shows text directly on the page, so no need to have a pop-up annotation.

Though, in some special(or error) PDF document, sound or free text annotation may have a pop-up annotation, they still do not need a pop-up annotation.

Returns
  The related pop-up annotation. If the return value of function Annot.IsEmpty (inherited from Popup 's parent class) for the returned pop-up annotation is true, that means current markup annotation does not have a pop-up annotation.

## ◆ GetReply()

Note foxit.pdf.annots.Markup.GetReply | ( | int | index | ) |
| inline

Get a reply by index.

Parameters

  [in] | index | The index for a specified reply. Valid range: from 0 to (count-1). count is returned by function Markup.GetReplyCount .

Returns
  A note annotation that represents the specified reply annotation.

## ◆ GetReplyCount()

int foxit.pdf.annots.Markup.GetReplyCount | ( |  | ) |
| inline

Count all replies.

Returns
  The count of replies.

## ◆ GetRichTextContent()

string foxit.pdf.annots.Markup.GetRichTextContent | ( | int | index | ) |
| inline

Get text string of a rich text string specified by index.

Markup annotation's content can consist of several rich text strings.

Parameters

  [in] | index | Index for a rich text string whose content is to be retrieved. Valid range: from 0 to (count-1). count is returned by function Markup.GetRichTextCount .

Returns
  Text string for the specified rich text.

## ◆ GetRichTextCount()

int foxit.pdf.annots.Markup.GetRichTextCount | ( |  | ) |
| inline

Get the count of rich text strings.

Markup annotation's content can consist of several rich text strings.

Returns
  Count of rich text strings.

## ◆ GetRichTextStyle()

RichTextStyle foxit.pdf.annots.Markup.GetRichTextStyle | ( | int | index | ) |
| inline

Get style data of a rich text string specified by index.

Markup annotation's content can consist of several rich text strings.

Parameters

  [in] | index | Index for a rich text string whose style data is to be retrieved. Valid range: from 0 to (count-1). count is returned by function Markup.GetRichTextCount .

Returns
  Style data for the specified rich text string.

## ◆ GetStateAnnots()

NoteArray foxit.pdf.annots.Markup.GetStateAnnots | ( | Markup.StateModel | model | ) |
| inline

Get all state annotations in a specified state model.

A markup annotation may have one or several author-specific state associated with it. Each state is not specified in the annotation itself but in a separate note annotation.

Parameters

  [in] | model | State model. It should be one of following values: foxit.pdf.annots.Markup.StateModel.e_StateModelMarked foxit.pdf.annots.Markup.StateModel.e_StateModelReview

Returns
  A note annotation array which represents all state annotations in the specified state model. All the annotations in this array would be in a chronological order.

## ◆ GetSubject()

string foxit.pdf.annots.Markup.GetSubject | ( |  | ) |
| inline

Get subject string.

Returns
  Subject string.

## ◆ GetTitle()

string foxit.pdf.annots.Markup.GetTitle | ( |  | ) |
| inline

Get title string.

By convention, annotation's title can be used to identify the user who added current annotation.

Returns
  Title string.

## ◆ InsertRichText()

void foxit.pdf.annots.Markup.InsertRichText | ( | int | index,
|  | string | content,
|  | RichTextStyle | style
| ) |  |
| inline

Insert a new rich text string to the place which is specified by index.

Markup annotation's content can consist of several rich text strings. Specially, if current annotation is a freetext and its intent is "FreeTextTypewriter", text aligment of input style will be set to all rich text strings of current freetext annotation.

Parameters

  [in] | index | Index for a rich text string whose style data is to be inserted at. Valid range: from 0 to count. count is returned by function Markup.GetRichTextCount . If input value is equal to rich text string count, that means to add the new rich text string to the end. In this case, this funcion equals to function Markup.AddRichText .
  [in] | content | Text string used as content of the new rich text string. This should not be an empty string.
  [in] | style | Style data used for the new rich text string.

Returns
  None.

## ◆ IsGrouped()

bool foxit.pdf.annots.Markup.IsGrouped | ( |  | ) |
| inline

Check whether current markup annotation is in a group or not.

Markup annotations can be grouped. The group consists of a primary annotation and one or more subordinate annotations. Some entries in the primary annotation are treated as group attributes that should apply to the group as a whole; the corresponding entries in the subordinate annotations should be ignored. These entries are contents, last modification time, fill color/border color, title, pop-up annotation, creation time, subject, and open status. So user should respect the group property: when a property of an annotation in group is changed, the other annotations in the same group should be changed too.
Operations that manipulate any annotation in a group, such as movement, cut, and copy, should be treated by viewer applications as acting on the entire group.

Returns
  true means current markup annotation is in a group. false means current markup annotation does not belong to any group.

## ◆ RemoveAllReplies()

bool foxit.pdf.annots.Markup.RemoveAllReplies | ( |  | ) |
| inline

Remove all the replies.

Returns
  true means success, while false means failure.

## ◆ RemoveAllStateAnnots()

bool foxit.pdf.annots.Markup.RemoveAllStateAnnots | ( |  | ) |
| inline

Remove all the state annotations.

State annotation is represented by note annotation, so, to remove state annotations means to remove this kind of note annotations (with their popup annotations if any) from the page.

Returns
  true means remove all the state annotations successfully or current annotation does not have any state annotation, while false means failure.

## ◆ RemovePopup()

bool foxit.pdf.annots.Markup.RemovePopup | ( |  | ) |
| inline

Remove related pop-up annotation.

Returns
  true means that related pop-up annotation is removed successfully, while false means current markup annotation does not have a related pop-up annotation.

## ◆ RemoveReply()

bool foxit.pdf.annots.Markup.RemoveReply | ( | int | index | ) |
| inline

Remove a reply by index.

If specified reply has its own replies, these sub replies will be removed at the same time.

Parameters

  [in] | index | The index for a specified reply to be removed. Valid range: from 0 to (count-1). count is returned by function Markup.GetReplyCount .

Returns
  true means success, while false means failure.

## ◆ RemoveRichText()

void foxit.pdf.annots.Markup.RemoveRichText | ( | int | index | ) |
| inline

Remove a rich text string specified by index.

Markup annotation's content can consist of several rich text strings.

Parameters

  [in] | index | Index for a rich text string whose style data is to be inserted at. Valid range: from 0 to (count-1). count is returned by function Markup.GetRichTextCount .

Returns
  None.

## ◆ SetBorderOpacity()

void foxit.pdf.annots.Markup.SetBorderOpacity | ( | float | opacity | ) |
| inline

Set the border opacity of the annotation.

This property has effect on markup annotation's appearance. If user wants the new opacity value has effect on annotation's appearance, please call function Annot.ResetAppearanceStream after setting the new opacity value.

Parameters

  [in] | opacity | The new opacity value. Valid range: 0.0 to 1.0 . 0.0 means full transparency and 1.0 means full opaque.

Returns
  None.

## ◆ SetCreationDateTime()

void foxit.pdf.annots.Markup.SetCreationDateTime | ( | DateTime | date_time | ) |
| inline

Set creation date time.

Parameters

  [in] | date_time | The new date time to be set.

Returns
  None.

## ◆ SetFillOpacity()

void foxit.pdf.annots.Markup.SetFillOpacity | ( | float | opacity | ) |
| inline

Set the fill opacity of the annotation.

This property has effect on markup annotation's appearance. If user wants the new opacity value has effect on annotation's appearance, please call function Annot.ResetAppearanceStream after setting the new opacity value.

Parameters

  [in] | opacity | The new opacity value. Valid range: 0.0 to 1.0 . 0.0 means full transparency and 1.0 means full opaque.

Returns
  None.

## ◆ SetIntent()

void foxit.pdf.annots.Markup.SetIntent | ( | string | intent | ) |
| inline

Set intent name.

Following annotation types have predefined intent name:

- Free text annotation's predefined intent name: "FreeTextCallout", "FreeTextTypewriter". If no intent name is used, free text annotation would be shown as a text box. If the intent name is FreeTextTypewriter, the border color will be removed.

- Line annotation's predefined intent name: "LineArrow", "LineDimension". If no intent name is used, line annotation would be shown as a common line.
  If a line annotation's intent is to be set to "LineArrow", the line annotation's line ending styles will be foxit.pdf.annots.Markup.EndingStyle.e_EndingStyleNone for start point and foxit.pdf.annots.Markup.EndingStyle.e_EndingStyleOpenArrow for end point by default.

- Polygon's predefined intent name: "PolygonCloud", "PolygonDimension". If no intent name is used, polygon annotation would be shown as a common polygon.
  If a polygon annotation's intent is to be set to "PolygonCloud", the polygon annotation's border style will be changed to foxit.pdf.annots.BorderInfo.Style.e_Cloudy and border cloud intensity will be set to 2 by default.

- Polyline annotation's predefined intent name: "PolyLineDimension". If no intent name is used, polyline annotation would be shown as a common polyline.

If supported predefined intent name has been set to corresponding type of annotation, user should call function Annot.ResetAppearanceStream to make the effect on annotation's appearance.

Parameters

  [in] | intent | New intent name string to be set. If it is an empty string, that means the intent property will not be used. Some annotation type have predefined intent name, please refer to "Details" part for more details. If this string is one of those unsupported intent name, this string will be ignored when set to corresponding annotations.

Returns
  None.

## ◆ SetOpacity()

void foxit.pdf.annots.Markup.SetOpacity | ( | float | opacity | ) |
| inline

Set opacity value.

This property has effect on markup annotation's appearance. If user wants the new opacity value has effect on annotation's appearance, please call function Annot.ResetAppearanceStream after setting the new opacity value.

Parameters

  [in] | opacity | The new opacity value. Valid range: 0.0 to 1.0 . 0.0 means full transparency and 1.0 means full opaque.

Returns
  None.

## ◆ SetPopup()

void foxit.pdf.annots.Markup.SetPopup | ( | Popup | popup | ) |
| inline

Set related pop-up annotation.

Most markup annotations can have a pop-up annotation to show their content, except sound and free text annotations:

- For sound annotation, it does not have a pop-up annotation.

- For free text annotation, it shows text directly on the page, so no need to have a pop-up annotation.

So, this function does not allow to set pop-up annotation to sound and free text annotation.

Parameters

  [in] | popup | A valid pop-up annotation to be set to current markup annotation.

Returns
  None.

## ◆ SetRichTextContent()

void foxit.pdf.annots.Markup.SetRichTextContent | ( | int | index,
|  | string | content
| ) |  |
| inline

Set text string of a rich text string specified by index.

Markup annotation's content can consist of several rich text strings.

Parameters

  [in] | index | Index for a rich text string whose content is to be set. Valid range: from 0 to (count-1). count is returned by function Markup.GetRichTextCount .
  [in] | content | Text string to be set as content for specified rich text. This should not be an empty string.

Returns
  None.

## ◆ SetRichTextStyle()

void foxit.pdf.annots.Markup.SetRichTextStyle | ( | int | index,
|  | RichTextStyle | style
| ) |  |
| inline

Set style data of a rich text string specified by index.

Markup annotation's content can consist of several rich text strings.
Specially, if current annotation is a freetext and its intent is "FreeTextTypewriter", text aligment of input style will be set to all rich text strings of current freetext annotation.

Parameters

  [in] | index | Index for a rich text string whose style data is to be retrieved. Valid range: from 0 to (count-1). count is returned by function Markup.GetRichTextCount .
  [in] | style | Style data used to be set to specified rich text.

Returns
  None.

## ◆ SetSubject()

void foxit.pdf.annots.Markup.SetSubject | ( | string | subject | ) |
| inline

Set subject string.

Parameters

  [in] | subject | New subject string to be set.

Returns
  None.

## ◆ SetTitle()

void foxit.pdf.annots.Markup.SetTitle | ( | string | title | ) |
| inline

Set title string.

By convention, annotation's title can be used to identify the user who added current annotation.

Parameters

  [in] | title | New title string to be set.

Returns
  None.

## ◆ Ungroup()

bool foxit.pdf.annots.Markup.Ungroup | ( |  | ) |
| inline

Ungroup current markup annotation from the group it belongs to.

- If current markup annotation is just the group header, this function will disband the whole group.

- If current markup annotation is just a member of a group, this function will only ungroup current markup annotation from the group it belongs to.

- If current markup annotation does not belong to any group, this function will do nothing and return false directly.

Returns
  true means success, while false means current markup annotation does not belong to any group.