Foxit PDF SDK

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

## Public Member Functions
| Stamp ()
| Constructor.
| Stamp (const Annot &annot)
| Constructor, with parent class object. More...
| ~Stamp ()
| Destructor.
String | GetIconName () const
| Get icon name. More...
int | GetRotation ()
| Get current rotation angle (in clockwise). More...
void | Rotate (int angle)
| Rotate current annotation from current state with specified angle degree in clockwise. More...
void | SetBitmap (const common::Bitmap &bitmap)
| Set bitmap to current stamp annotation. More...
void | SetIconName (const char *icon_name)
| Set icon name. More...
void | SetImage (const common::Image &image, int frame_index, int compress)
| Set image to current stamp annotation, with a specified frame index. More...
void | SetRotation (int angle)
| Set rotation angle (in clockwise). More...
Public Member Functions inherited from foxit::pdf::annots::Markup
| Markup ()
| Constructor.
| Markup (const Annot &annot)
| Constructor, with parent class object. More...
| ~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 ()
| 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::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 stamp annotation displays text or graphics intended to look as if they were stamped on the page with a rubber stamp.
A stamp annotation's appearance can be with an icon or a bitmap. Currently, Foxit PDF SDK does not have any default appearance for predefined standard stamp icons, so user should set a customized annotation icon provider to Foxit PDF SDK by function common::Library::SetAnnotIconProviderCallback if the stamp is represented by icon.
Stamp annotation is a kind of markup annotation, so class Stamp is derived from class Markup, and also offers functions to get/set stamp annotation's properties and reset appearance stream of a stamp annotation.
Before resetting appearance stream of a stamp annotation, please ensure a stamp annotation has been set valid bitmap or image, or it has an icon name with the supported customized annotation icon provider being set to Foxit PDF SDK; otherwise the stamp annotation cannot be reset appearance stream.

Note
  For a newly created stamp annotation, some properties will be set with default values:
  opacity = 1.0, icon name = "Draft".
  Before calling Annot::ResetAppearanceStream (inherited from Stamp's parent class), user should ensure to set a bitmap to the stamp by function Stamp::SetBitmap or Stamp::SetImage, or set a useful customized annotation icon provider to Foxit PDF SDK by function common::Library::SetAnnotIconProviderCallback.

See also
  Markup
  common::Library

## Constructor & Destructor Documentation

## ◆ Stamp()

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

Constructor, with parent class object.

Parameters

  [in] | annot | Parent class object.

## Member Function Documentation

## ◆ GetIconName()

String foxit::pdf::annots::Stamp::GetIconName | ( |  | ) | const

Get icon name.

This property may has effect on stamp annotation's appearance when a supported customized annotation icon provider being set to Foxit PDF SDK. Stamp annotation has predefined standard icon names:
"Approved", "AsIs", "Confidential", "Departmental", "Draft", "Experimental", "Expired", "Final", "ForComment", "ForPublicRelease", "NotApproved", "NotForPublicRelease", "Sold", "TopSecret".

Returns
  Icon name string.

## ◆ GetRotation()

int foxit::pdf::annots::Stamp::GetRotation | ( |  | ) |

Get current rotation angle (in clockwise).

Returns
  Current rotation angle (in clockwise). Value range: from 0 to 360.

## ◆ Rotate()

void foxit::pdf::annots::Stamp::Rotate | ( | int | angle | ) |

Rotate current annotation from current state with specified angle degree in clockwise.

Parameters

  [in] | angle | Angle degree value, which is used to rotate current annotation from current state in clockwise. Value range: from 0 to 360. Specially, if the input value is 0 or 360 (which means not to rotate current annotation), current function will do nothing.

Returns
  None.

## ◆ SetBitmap()

void foxit::pdf::annots::Stamp::SetBitmap | ( | const common::Bitmap & | bitmap | ) |

Set bitmap to current stamp annotation.

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

Parameters

  [in] | bitmap | A bitmap to be set to current stamp.

Returns
  None.

## ◆ SetIconName()

void foxit::pdf::annots::Stamp::SetIconName | ( | const char * | icon_name | ) |

Set icon name.

This property may has effect on stamp annotation's appearance when a supported customized annotation icon provider being set to Foxit PDF SDK. Stamp annotation has predefined standard icon names:
"Approved", "AsIs", "Confidential", "Departmental", "Draft", "Experimental", "Expired", "Final", "ForComment", "ForPublicRelease", "NotApproved", "NotForPublicRelease", "Sold", "TopSecret".
Once user set a new icon name to current stamp annotation, please ensure the customized icon provider has been set to Foxit PDF SDK by function common::Library::SetAnnotIconProviderCallback before function Annot::ResetAppearanceStream (inherited from Stamp's parent class) is called. For a newly created stamp annotation, if current function is not called, icon name will be "Draft" by default.
If user wants the new icon name has effect on annotation's appearance, please ensure a supported customized annotation icon provider has been set to Foxit PDF SDK and then call function Annot::ResetAppearanceStream after setting the new icon name.

Parameters

  [in] | icon_name | New icon name string to be set. An empty icon name string means icon of current stamp annotation would be treated as "Draft".

Returns
  None.

## ◆ SetImage()

void foxit::pdf::annots::Stamp::SetImage | ( | const common::Image & | image,
|  | int | frame_index,
|  | int | compress
| ) |  |

Set image to current stamp annotation, with a specified frame index.

Input image may contain multiple frames, and only one frame of the image can be set to current stamp annotation.
If user wants the new image has effect on annotation's appearance, please call function Annot::ResetAppearanceStream after setting the new image.

Parameters

  [in] | image | An image. One of its frames will be set to current stamp. This image contains at least one frame and the image type should not be common::Image::e_Unknown.
  [in] | frame_index | Frame index. Valid range: from 0 to (count-1). count is returned by function common::Image::GetFrameCount.
  [in] | compress | Compress algorithm type used to compress image data. Currently, it only supports 2 valid value: 0: no compress. 1: do default compress.

Returns
  None.

## ◆ SetRotation()

void foxit::pdf::annots::Stamp::SetRotation | ( | int | angle | ) |

Set rotation angle (in clockwise).

This property has effect on stamp annotation's appearance. If user wants the effect to be shown in annotation's appearance, please call function Annot::ResetAppearanceStream after this function.

Parameters

  [in] | angle | New rotation angle (in clockwise) to be set to current annotation. Value range: from 0 to 360.

Returns
  None.