Foxit PDF SDK
|
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... | |
Note | AddStateAnnot (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... | |
Note | GetStateAnnot (Markup.StateModel model, int index) |
Get a state annotation, under a specified state model. More... | |
int | GetStateAnnotCount (Markup.StateModel model) |
Get the count of state annotations, under a specified state model. More... | |
string | GetSubject () |
Get subject string. More... | |
string | GetTitle () |
Get title string. 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 state annotations. More... | |
bool | RemoveReply (int index) |
Remove a reply 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 | 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... | |
![]() | |
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 | 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... | |
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.
All the "set" functions in class Markup .
Function Annot.ResetAppearanceStream (inherited from Markup 's parent class).
|
strong |
Enumeration for line ending style.
Values of this enumeration should be used alone.
|
strong |
Enumeration for annotation's measure type.
Values of this enumeration should be used alone.
|
strong |
Enumeration for markup annotation's state.
Values of this enumeration should be used alone.
Enumerator | |
---|---|
e_StateMarked | (Used for foxit.pdf.annots.Markup.StateModel.e_StateModelMarked ) The annotation has been marked by the user. |
e_StateUnmarked | (Used for foxit.pdf.annots.Markup.StateModel.e_StateModelMarked ) The annotation has not been marked by the user. |
e_StateAccepted | (Used for foxit.pdf.annots.Markup.StateModel.e_StateModelReview ) The user agrees with the change. |
e_StateRejected | (Used for foxit.pdf.annots.Markup.StateModel.e_StateModelReview ) The user disagrees with the change. |
e_StateCancelled | (Used for foxit.pdf.annots.Markup.StateModel.e_StateModelReview ) The change has been cancelled. |
e_StateCompleted | (Used for foxit.pdf.annots.Markup.StateModel.e_StateModelReview ) The change has been completed. |
e_StateNone | (Used for foxit.pdf.annots.Markup.StateModel.e_StateModelReview ) The user has indicated nothing about the change. |
|
strong |
|
inline |
Constructor, with parent class object.
[in] | annot | Parent class object. |
|
inline |
Add a new reply to the end of reply list.
|
inline |
Add a new state annotation.
A markup annotation may have an author-specific state associated with it. The state is not specified in the annotation itself but in a separate text annotation that refers to the original annotation.
Usually, when state model is foxit.pdf.annots.Markup.StateModel.e_StateModelMarked , the markup annotation only has one state annotation.
When state model is foxit.pdf.annots.Markup.StateModel.e_StateModelReview , the markup annotation can have several state annotations in a chain: first state annotation refers to the markup annotation, second state annotation refers to the first state annotation, etc. Just like this: markup annotation <– reviewed state1 <– reviewed state2 ...
[in] | model | State model for the new state annotation. It should be one of following values:
|
[in] | state | State value for the new state annotation. It should be one of following values:
|
|
inline |
Get creation date time.
|
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.
|
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.
|
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.
|
inline |
Get opacity value.
This property has effect on markup annotation's appearance.
|
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.
|
inline |
Get a reply by index.
[in] | index | The index for a specified reply. Valid range: from 0 to (count-1). count is returned by function Markup.GetReplyCount . |
|
inline |
Count all replies.
|
inline |
Get a state annotation, under a specified state model.
A markup annotation may have an author-specific state associated with it. The state is not specified in the annotation itself but in a separate text annotation that refers to the original annotation.
Usually, when state model is foxit.pdf.annots.Markup.StateModel.e_StateModelMarked , the markup annotation only has one state annotation.
When state model is foxit.pdf.annots.Markup.StateModel.e_StateModelReview , the markup annotation can have several state annotations in a chain: first state annotation refers to the markup annotation, second state annotation refers to the first state annotation, etc. Just like this: markup annotation <– reviewed state1 <– reviewed state2 ...
[in] | model | State model. It should be one of following values: |
[in] | index | The index of the state annotation to be retrieved. Valid range: from 0 to (count-1). count is returned by function Markup.GetStateAnnotCount with the same parameter model. |
|
inline |
Get the count of state annotations, under a specified state model.
A markup annotation may have an author-specific state associated with it. The state is not specified in the annotation itself but in a separate text annotation that refers to the original annotation.
Usually, when state model is foxit.pdf.annots.Markup.StateModel.e_StateModelMarked , the markup annotation only has one state annotation.
When state model is foxit.pdf.annots.Markup.StateModel.e_StateModelReview , the markup annotation can have several state annotations in a chain: first state annotation refers to the markup annotation, second state annotation refers to the first state annotation, etc. Just like this: markup annotation <– reviewed state1 <– reviewed state2 ...
[in] | model | State model It should be one of following values: |
|
inline |
Get subject string.
|
inline |
Get title string.
|
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.
|
inline |
Remove all the replies.
|
inline |
Remove all state annotations.
State annotation is represented by note annotation, so, to remove state annotations also means to remove the special note annotations (with its popup if any) from the page.
|
inline |
Remove a reply by index.
If specified reply has its own replies, these sub replies will be removed at the same time.
[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 . |
|
inline |
Set creation date time.
[in] | date_time | The new date time to be set. |
|
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.
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.
[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. |
|
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.
[in] | opacity | The new opacity value. Valid range: 0.0 to 1.0 . 0.0 means full transparency and 1.0 means full opaque. |
|
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.
[in] | popup | A valid pop-up annotation to be set to current markup annotation. |
|
inline |
Set subject string.
[in] | subject | New subject string to be set. |
|
inline |
Set title string.
[in] | title | New title string to be set. |
|
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.