Foxit PDF SDK

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

## 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, graphics and annotations under annotation rectangle permanently. More...
void | EnableAutoFontSize ()
| Enable auto font size for the overlay text. More...
void | EnableRepeatOverlayText (bool is_to_repeat_overlay_text)
| Set the flag to decide whether to repeat the overlay text. 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...
bool | IsOverlayTextRepeated ()
| Check whether the overlay text is repeated or not. 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 ()
| 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

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] | annot | Parent class object.

## Member Function Documentation

## ◆ Apply()

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

Apply current redact annotation: remove the text, graphics and annotations under annotation rectangle permanently.

Once this functions is called successfully, all page content(text object, image object, and path object) and annotations within area of current redact annotation rectangle will be removed permanently. However, if other redaction annotations intersect with or are contained within the current redaction, they will not be deleted. For current redact annotation, it also 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.

## ◆ EnableAutoFontSize()

void foxit::pdf::annots::Redact::EnableAutoFontSize | ( |  | ) |

Enable auto font size for the overlay text.

Returns
  None.

## ◆ EnableRepeatOverlayText()

void foxit::pdf::annots::Redact::EnableRepeatOverlayText | ( | bool | is_to_repeat_overlay_text | ) |

Set the flag to decide whether to repeat the overlay text.

Parameters

  [in] | is_to_repeat_overlay_text | true means to repeat the overlay text, while false means not. Default value: false.

Returns
  None.

## ◆ 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, 0xFFFFFF 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.

## ◆ IsOverlayTextRepeated()

bool foxit::pdf::annots::Redact::IsOverlayTextRepeated | ( |  | ) |

Check whether the overlay text is repeated or not.

Returns
  true means that the overlay text is repeated, while false means not.

## ◆ 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_color | New 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_ap | The 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:
  - flags of input data includes the DefaultAppearance::e_FlagFont but font of input data is invalid.
  - flags of input data includes the DefaultAppearance::e_FlagFontSize but text size of input data is not bigger than zero.

## ◆ SetFillColor()

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

Set fill color.

Parameters

  [in] | fill_color | New 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_text | The 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] | alignment | The 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_array | A valid array of quadrilaterals. It should not be an empty array.

Returns
  None.