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

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 (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...
 
DateTime GetCreationDateTime () const
 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 () 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 string. 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 RemoveReply (int index)
 Remove a reply by index. More...
 
void RemoveRichText (int index)
 Remove a rich text string specified by index. More...
 
void SetCreationDateTime (const DateTime &date_time)
 Set creation date time. 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::PDFStreamGetAppearanceStream (AppearanceType type, const char *appearance_state="") const
 Get annotation's appearance stream with specified type and state. More...
 
RGB GetBorderColor () const
 Get border color. More...
 
BorderInfo GetBorderInfo () const
 Get border information. More...
 
WString GetContent () const
 Get content. More...
 
RectI GetDeviceRect (const Matrix &matrix)
 Get annotation rectangle in device coordinate system. More...
 
objects::PDFDictionaryGetDict () const
 Get annotation's dictionary object. More...
 
Matrix GetDisplayMatrix (const Matrix &page_display_matrix)
 Get the display matrix, from PDF coordinate system to targeted device coordinate system. More...
 
uint32 GetFlags () const
 Get annotation flags. More...
 
int GetIndex () const
 Get the index of current annotation in the page which current annotation belongs to. More...
 
DateTime GetModifiedDateTime () const
 Get last modified date time. More...
 
objects::PDFDictionaryGetOptionalContent () const
 Get the PDF dictionary of annotation's optional content. More...
 
PDFPage GetPage () const
 Get the related PDF page. More...
 
RectF GetRect () const
 Get rectangle, in PDF coordinate system. More...
 
Type GetType () const
 Get actual annotation type of current annotation. More...
 
WString GetUniqueID () const
 Get unique ID. More...
 
bool HasProperty (Property property) const
 Whether current annotation has the specified annotation's property. More...
 
bool IsEmpty () const
 Check whether current object is empty or not. More...
 
bool IsMarkup () const
 Check if current annotation is a markup annotation. More...
 
bool Move (const RectF &rect)
 Move current annotation to a new position, specified by a new rectangle in PDF coordinate system. More...
 
bool operator != (const Annot &other) const
 Not equal operator. More...
 
Annotoperator= (const Annot &annot)
 Assign operator. More...
 
bool operator== (const Annot &other) const
 Equal operator. More...
 
bool RemoveProperty (Property property)
 Remove a specified annotation's property. More...
 
bool ResetAppearanceStream ()
 Reset appearance stream. More...
 
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_StateMarked = 1, e_StateUnmarked = 2, e_StateAccepted = 3, e_StateRejected = 4,
  e_StateCancelled = 5, e_StateCompleted = 6, e_StateNone = 7
}
 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
}
 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]annotParent 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]angleAngle 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]bitmapA 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_nameNew 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]imageAn 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_indexFrame index. Valid range: from 0 to (count-1). count is returned by function common::Image::GetFrameCount.
[in]compressCompress 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]angleNew rotation angle (in clockwise) to be set to current annotation. Value range: from 0 to 360.
Returns
None.