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

Public Member Functions

 Redact ()
 Constructor.
 
 Redact (const Annot &annot)
 Constructor, with parent class object. More...
 
 ~Redact ()
 Destructor.
 
bool Apply ()
 Apply current redact annotation: remove the text or graphics under annotation rectangle permanently. More...
 
RGB GetApplyFillColor () const
 Get the filling color which is used for rollover appearance and will be used after redaction is applied. More...
 
DefaultAppearance GetDefaultAppearance ()
 Get default appearance data. More...
 
RGB GetFillColor () const
 Get fill color. More...
 
WString GetOverlayText () const
 Get the overlay text. More...
 
common::Alignment GetOverlayTextAlignment () const
 Get alignment value of overlay text. More...
 
QuadPointsArray GetQuadPoints () const
 Get quadrilaterals. More...
 
void SetApplyFillColor (RGB fill_color)
 Set the filling color which is used for rollover appearance and will be used after redaction is applied. More...
 
bool SetDefaultAppearance (const DefaultAppearance &default_ap)
 Set default appearance data. More...
 
void SetFillColor (RGB fill_color)
 Set fill color. More...
 
void SetOverlayText (const WString &overlay_text)
 Set the overlay text. More...
 
void SetOverlayTextAlignment (common::Alignment alignment)
 Set alignment value of overlay text. More...
 
void SetQuadPoints (const QuadPointsArray &quad_points_array)
 Set quadrilaterals. 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...
 
Note AddStateAnnot (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...
 
Note GetStateAnnot (StateModel model, int index)
 Get a state annotation, under a specified state model. More...
 
int GetStateAnnotCount (StateModel model)
 Get the count of state annotations, under a specified state model. More...
 
WString GetSubject () const
 Get subject string. More...
 
WString GetTitle () const
 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 (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 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

Class Redact represents a Foxit custom annotation type (not a standard annotation type). This kind of annotation is used to mark some content of a PDF page and these content will be removed once the redact annotations are applied. An existed redact annotation can be retrieved from PDF page by functions pdf::PDFPage::GetAnnot and pdf::PDFPage::GetAnnotAtPoint. A new redact annotation would be returned by function addon::Redaction::MarkRedactAnnot, instead of pdf::PDFPage::AddAnnot.
Class annots::Redact is derived from class Markup and also offers functions to get/set markup annotation's basic properties of a redact annotation. Currently, Annot::SetBorderInfo can be used for a redact annotation, but will not have any effect on the appearance of redact annotation. Besides, redact annotation cannot be moved by function Annot::Move.

See also
addon::Redaction
pdf::PDFPage
Markup

Constructor & Destructor Documentation

◆ Redact()

foxit::pdf::annots::Redact::Redact ( const Annot annot)
explicit

Constructor, with parent class object.

Parameters
[in]annotParent class object.

Member Function Documentation

◆ Apply()

bool foxit::pdf::annots::Redact::Apply ( )

Apply current redact annotation: remove the text or graphics under annotation rectangle permanently.

Once this functions is called successfully, all page content(text object, image object, and path object) within area of current redact annotation rectangle will be removed permanently. And current redact annotation will be removed (with its pop-up annotation if any) as well - that means current annotation object will be useless when this function succeeds. Area of current redact annotation rectangle will be filled by the color specified by function pdf::annots::Redact::SetApplyFillColor.

Returns
true means success, while false means failure.

◆ GetApplyFillColor()

RGB foxit::pdf::annots::Redact::GetApplyFillColor ( ) const

Get the filling color which is used for rollover appearance and will be used after redaction is applied.

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

◆ GetDefaultAppearance()

DefaultAppearance foxit::pdf::annots::Redact::GetDefaultAppearance ( )

Get default appearance data.

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

Returns
The default appearance data.

◆ GetFillColor()

RGB foxit::pdf::annots::Redact::GetFillColor ( ) const

Get fill color.

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

◆ GetOverlayText()

WString foxit::pdf::annots::Redact::GetOverlayText ( ) const

Get the overlay text.

Returns
The overlay text string.

◆ GetOverlayTextAlignment()

common::Alignment foxit::pdf::annots::Redact::GetOverlayTextAlignment ( ) const

Get alignment value of overlay text.

This property has effect on the overlay text of redact annotation's appearance.

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

◆ GetQuadPoints()

QuadPointsArray foxit::pdf::annots::Redact::GetQuadPoints ( ) const

Get quadrilaterals.

The order of points in a quadrilateral should be:

  • The first point is the point in left-top corner of the quadrilateral.
  • The second point is the point in right-top corner of the quadrilateral.
  • The third point is the point in left-bottom corner of the quadrilateral.
  • The fourth point is the point in right-bottom corner of the quadrilateral.
Returns
A quadrilateral points array that receives the quadrilaterals value.

◆ SetApplyFillColor()

void foxit::pdf::annots::Redact::SetApplyFillColor ( RGB  fill_color)

Set the filling color which is used for rollover appearance and will be used after redaction is applied.

Parameters
[in]fill_colorNew fill color to be set. Format: 0xRRGGBB.
Returns
None.

◆ SetDefaultAppearance()

bool foxit::pdf::annots::Redact::SetDefaultAppearance ( const DefaultAppearance default_ap)

Set default appearance data.

This property has effect on redact 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_apThe 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:

◆ SetFillColor()

void foxit::pdf::annots::Redact::SetFillColor ( RGB  fill_color)

Set fill color.

Parameters
[in]fill_colorNew fill color to be set. Format: 0xRRGGBB.
Returns
None.

◆ SetOverlayText()

void foxit::pdf::annots::Redact::SetOverlayText ( const WString overlay_text)

Set the overlay text.

Parameters
[in]overlay_textThe overlay text string to be set.
Returns
None.

◆ SetOverlayTextAlignment()

void foxit::pdf::annots::Redact::SetOverlayTextAlignment ( common::Alignment  alignment)

Set alignment value of overlay text.

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

Parameters
[in]alignmentThe new alignment value. Please refer to values starting from common::e_AlignmentLeft and this should be one of these values.
Returns
None.

◆ SetQuadPoints()

void foxit::pdf::annots::Redact::SetQuadPoints ( const QuadPointsArray quad_points_array)

Set quadrilaterals.

This property has effect on the redact annotation's appearance.The order of points in a quadrilateral should be :

  • The first point is the point in left-top corner of the quadrilateral.
  • The second point is the point in right-top corner of the quadrilateral.
  • The third point is the point in left-bottom corner of the quadrilateral.
  • The fourth point is the point in right-bottom corner of the quadrilateral.

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

Parameters
[in]quad_points_arrayA valid array of quadrilaterals. It should not be an empty array.
Returns
None.