Go to the documentation of this file.
20 #ifndef __EMSCRIPTEN_RENDER__
25 #ifndef __EMSCRIPTEN_RENDER__
71 typedef enum _TextMergeOption {
419 typedef enum _ParseFlags {
431 typedef enum _CalcMarginMode {
443 typedef enum _FlattenOptions {
457 typedef enum _BoxType {
588 bool is_reparse =
false);
659 #ifndef __EMSCRIPTEN_RENDER__
957 #ifndef __EMSCRIPTEN_RENDER__
1130 void SetSize(
float width,
float height);
1206 bool Transform(
const Matrix& matrix,
bool need_transform_clip_path,
bool need_transform_annotations =
false);
1369 bool auto_generate_content =
true);
1392 bool auto_generate_content =
true);
1415 bool auto_generate_content =
true);
1535 #endif // FS_PDFPAGE_H_
Matrix GetDisplayMatrix(int left, int top, int width, int height, common::Rotation rotate)
Get the display matrix of PDF page, from PDF coordinate system to targeted device coordinate system.
PDFPage(const PDFDoc &document, objects::PDFDictionary *page_dict)
Constructor, from a PDF dictionary which represents a PDF page and the PDF document which contains th...
bool RemoveAnnot(const annots::Annot &annot)
Remove an annotation.
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:214
Header file for PDF siganture related definitions and classes.
Definition: fs_pdfobject.h:614
Crop Box for page boundary.
Definition: fs_pdfpage.h:467
bool RemoveAllWatermarks()
Remove all watermarks.
annots::AnnotArray GetAnnotsAtDevicePoint(const PointF &position, float tolerance, const Matrix *matrix=0)
Get all the annotations at a specified position, in device coordinate system.
POSITION GetFirstGraphicsObjectPosition(graphics::GraphicsObject::Type filter=graphics::GraphicsObject::e_TypeAll) const
Get the position of first graphics object in graphics object list, based on type filter.
void MoveAnnotToLast(const annots::Annot &annot)
Change specified annotation to be the last one of all annotations.
Definition: fs_annot.h:996
Calculate margin by detecting paths or images.
Definition: fs_pdfpage.h:435
RectF GetBox(BoxType box_type)
Get page box.
Bleed Box for page boundary.
Definition: fs_pdfpage.h:482
Size
Enumeration for page size type.
Definition: fs_pdfpage.h:490
Definition: fs_common.h:346
bool FlattenAnnot(annots::Annot annot)
Flatten an annotation: the annotation is made to be a part of the page contents and be removed then.
FX_POSITION POSITION
A value used to denote the position of an element in a collection.
Definition: fs_basictypes.h:206
graphics::GraphicsObjectArray GetGraphicsObjectsAtRectangle(const RectF &rect, graphics::GraphicsObject::Type filter=graphics::GraphicsObject::e_TypeAll)
Get all the graphics objects whose rectangles intersect with a specified rectangle,...
Page size: B2.
Definition: fs_pdfpage.h:506
Type
Enumeration for PDF graphics object type.
Definition: fs_pdfgraphicsobject.h:378
bool RemoveGraphicsObjectByPosition(POSITION position)
Remove a graphics object by position.
Art Box for page boundary.
Definition: fs_pdfpage.h:477
POSITION MoveGraphicsObjectByPosition(POSITION current_position, POSITION position_move_after)
Move a graphics object from a position to another position.
float GetHeight() const
Get the page height (unit is 1/72 inch).
bool RemoveGraphicsObject(graphics::GraphicsObject *graphics_object)
Remove a graphics object.
bool operator==(const GraphicsObjects &other) const
Equal operator.
Page size: A5.
Definition: fs_pdfpage.h:502
Header file for common definitions and classes.
Page size: legal.
Definition: fs_pdfpage.h:494
bool HasWatermark()
Check whether the current page has any watermark (not including Foxit PDF SDK trial watermark).
Definition: fx_basic.h:1297
int GetAnnotCount()
Get the count of annotations.
Trim Box for page boundary.
Definition: fs_pdfpage.h:472
void SetUserUnitSize(float user_unit)
Set the user unit.
PDFDoc GetDocument() const
Get the PDF document, to which current PDF page belongs.
void MoveAnnotToNext(const annots::Annot &annot)
Exchange the indexes of current annotation and its next annotation.
int GetGraphicsObjectIndex(graphics::GraphicsObject *graphics_object) const
Get the index of a specified graphics object in graphics object list.
annots::Annot AddAnnot(annots::Annot::Type type, const RectF &rect)
Add an annotation to current PDF page.
Flatten a PDF page without annotations.
Definition: fs_pdfpage.h:447
annots::AnnotArray GetAnnotsAtPoint(const PointF &position, float tolerance)
Get all the annotations at a specified position, in PDF coordinate system.
Merge consecutive BTETs as a new one.
Definition: fs_pdfpage.h:84
Definition: fs_pdfobject.h:55
objects::PDFDictionary * GetResources() const
Get the PDF dictionary of "Resources".
bool SetAnnotGroup(const annots::MarkupArray &annot_array, int header_index)
Group all the input markup annotations together.
void ClearRenderCache()
Clear render cache.
Page size: B4.
Definition: fs_pdfpage.h:510
POSITION GetGraphicsObjectPosition(graphics::GraphicsObject *graphics_object)
Get the position of the specified graphics object.
bool HasTransparency()
Check whether current PDF page has transparency or not.
bool IsParsed() const
Check if current page has been parsed or not.
graphics::GraphicsObjectArray GetGraphicsObjectsAtPoint(const PointF &point, float tolerance, graphics::GraphicsObject::Type filter=graphics::GraphicsObject::e_TypeAll)
Get all the graphics objects in specified point, with specified type filter.
objects::PDFObject * GetInheritedAttribute(const char *attruibute_name) const
Get the PDF object for specified attribute which may be inherited from the ancestor node in the page ...
Definition: fs_annot.h:203
POSITION GetLastGraphicsObjectPosition(graphics::GraphicsObject::Type filter=graphics::GraphicsObject::e_TypeAll) const
Get the position of last graphics object in graphics object list, based on type filter.
float GetWidth() const
Get the page width (unit is 1/72 inch).
ParseFlags
Enumeration for parsing flags used for PDF page.
Definition: fs_pdfpage.h:419
GraphicsObjects & operator=(const GraphicsObjects &other)
Assign operator.
annots::Annot GetAnnot(int index)
Get an annotation by index.
Merge consecutive text-showing operators with equal y coordinates.
Definition: fs_pdfpage.h:77
Definition: fs_annot.h:1656
Media Box for page boundary.
Definition: fs_pdfpage.h:462
TextMergeOption
Enumeration for text merge.
Definition: fs_pdfpage.h:71
void MoveAnnotToFirst(const annots::Annot &annot)
Change specified annotation to be the first one of all annotations.
objects::PDFStream * GetThumb() const
Get the PDF stream of "Thumb".
bool AddImage(const common::Image &image, int frame_index, const PointF &position, float width, float height, bool auto_generate_content=true)
Add an image to current page.
common::Progressive StartParse(uint32 flags=PDFPage::e_ParsePageNormal, common::PauseCallback *pause=0, bool is_reparse=false)
Start to parse current page.
graphics::GraphicsObject * GetGraphicsObjectAtDevicePoint(const PointF &point, float tolerance, const Matrix *matrix, graphics::GraphicsObject::Type filter=graphics::GraphicsObject::e_TypeAll) const
Get the topmost graphics object in specified point in device coordinate system, with specified type f...
POSITION InsertGraphicsObject(POSITION position_insert_after, graphics::GraphicsObject *graphics_object)
Insert a graphics object after the specified position.
Page size: B6.
Definition: fs_pdfpage.h:514
Definition: fs_signature.h:99
Definition: fx_coordinates.h:30
annots::Annot GetAnnotAtDevicePoint(const PointF &position, float tolerance, const Matrix *matrix=0)
Get the annotation at a specified position, in device coordinate system.
Rotation
Enumeration for rotation.
Definition: fs_common.h:57
Definition: fs_pdfgraphicsobject.h:241
SignatureType
Enumeration for signature type.
Definition: fs_signature.h:251
Calculate margin according to bounding box of all contents.
Definition: fs_pdfpage.h:433
bool AddText(const wchar_t *text, const foxit::RectF &rect, const foxit::pdf::RichTextStyle &style, bool disable_embed_font=false)
Add text to current page.
FlattenOptions
Enumeration for flatten options.
Definition: fs_pdfpage.h:443
graphics::GraphicsObjectArray GetGraphicsObjectsAtDevicePoint(const PointF &point, float tolerance, const Matrix *matrix, graphics::GraphicsObject::Type filter=graphics::GraphicsObject::e_TypeAll)
Get all the graphics objects in specified point in device coordinate system, with specified type filt...
Header file for PDF object related definitions and classes.
Page size: B3.
Definition: fs_pdfpage.h:508
Represents all graphics object types, only used as filter.
Definition: fs_pdfgraphicsobject.h:380
Foxit namespace.
Definition: fs_taggedpdf.h:27
Parsing flag for text-only mode.
Definition: fs_pdfpage.h:423
Flatten a PDF page without form controls.
Definition: fs_pdfpage.h:449
Page size: A4.
Definition: fs_pdfpage.h:500
bool Flatten(bool for_display, uint32 options=PDFPage::e_FlattenAll)
Flatten current PDF page: annotations or form fields may be made to be a part of the page contents ac...
void MoveAnnotToPrev(const annots::Annot &annot)
Exchange the indexes of current annotation and its previous annotation.
graphics::GraphicsObject * GetGraphicsObject(POSITION position) const
Get the graphics object by position in graphics object list.
No text merge.
Definition: fs_pdfpage.h:73
Definition: fx_basic.h:3761
Header file for image and bitmap related definitions and classes.
RectF GetSuggestedRect(const common::Bitmap &render_result, const Matrix &render_matrix, const PointF &point) const
Get the suggested rectangle (in PDF coordinate system) for a point (in PDF coordinate system) based o...
int GetIndex() const
Get page index.
Definition: fs_pdfobject.h:809
objects::PDFObject * GetContents() const
Get the PDF object of "Contents".
void SetRotation(common::Rotation rotate)
Set page rotation.
Page size: A6.
Definition: fs_pdfpage.h:504
bool operator!=(const GraphicsObjects &other) const
Not equal operator.
int GetGraphicsObjectCount() const
Get the count of graphics objects in graphics object list.
#define NULL
The null-pointer value.
Definition: fx_system.h:780
objects::PDFArray * GetAnnots() const
Get the PDF array of "Annots".
Definition: fx_coordinates.h:771
Definition: fs_pdfdoc.h:610
graphics::GraphicsObject * GetGraphicsObjectAtRectangle(const RectF &rect, graphics::GraphicsObject::Type filter=graphics::GraphicsObject::e_TypeAll) const
Get the topmost graphics object whose rectangle interasects with a specified rectangle,...
Definition: fs_pdfpage.h:412
Flatten all contents of a PDF page.
Definition: fs_pdfpage.h:445
Definition: fs_image.h:448
annots::Annot GetAnnotAtPoint(const PointF &position, float tolerance)
Get the annotation at a specified position, in PDF coordinate system.
Header file for PDF graphics object related definitions and classes.
Definition: fs_annot.h:1867
Type
Enumeration for PDF annotation type.
Definition: fs_annot.h:1003
float GetUserUnitSize() const
Get the user unit.
void SetThumbnail(const common::Bitmap &thumbnail)
Set page thumbnail.
foxit::pdf::Signature AddSignatureWithExistedVDict(const foxit::RectF &rect, const foxit::WString &field_name, foxit::pdf::Signature::SignatureType signature_type, bool to_check_permission, const foxit::pdf::Signature &existed_signature)
Add a signature to PDF page with the existed "V" dictionary in the specific signature.
RectF CalcContentBBox(CalcMarginMode mode)
Calculate the content area of PDF page.
foxit::pdf::Signature AddSignature(const foxit::RectF &rect)
Add an ordinary signature to PDF page.
Definition: fx_coordinates.h:1076
void SetSize(float width, float height)
Set page width and height.
Header file for annotation related definitions and classes.
POSITION GetPrevGraphicsObjectPosition(POSITION position, graphics::GraphicsObject::Type filter=graphics::GraphicsObject::e_TypeAll) const
Get the position of previous graphics object in graphics object list, based on type filter and specif...
void SetBox(BoxType box_type, const RectF &box)
Set page box.
POSITION GetNextGraphicsObjectPosition(POSITION position, graphics::GraphicsObject::Type filter=graphics::GraphicsObject::e_TypeAll) const
Get the position of next graphics object in graphics object list, based on type filter and specified ...
Definition: fs_pdfobject.h:422
CalcMarginMode
Enumeration for calculating margin mode.
Definition: fs_pdfpage.h:431
void UpdateAnnotList()
Update the annotation list.
WIDE STRING CLASS.
Definition: fx_string.h:1452
Page size: B5.
Definition: fs_pdfpage.h:512
Definition: fs_image.h:36
bool IsEmpty() const
Check whether current object is empty or not.
Page size: A2.
Definition: fs_pdfpage.h:496
graphics::GraphicsObject * GetGraphicsObjectAtPoint(const PointF &point, float tolerance, graphics::GraphicsObject::Type filter=graphics::GraphicsObject::e_TypeAll) const
Get the topmost graphics object in specified point, with specified type filter.
void SetClipRect(const RectF &clip_rect)
Set clip rectangle for all graphics objects on current PDF page.
bool AddImageFromFilePath(const char *file_path, const PointF &position, float width, float height, bool auto_generate_content=true)
Add an image to current page from file path.
common::Rotation GetRotation() const
Get the page rotation.
BoxType
Enumeration for page box type.
Definition: fs_pdfpage.h:457
objects::PDFDictionary * GetDict() const
Get the page dictionary.
FX_UINT32 uint32
32-bit unsigned integer.
Definition: fs_basictypes.h:196
Parsing flag for normal mode, which means to parse all the contents in a PDF page.
Definition: fs_pdfpage.h:421
bool Transform(const Matrix &matrix, bool need_transform_clip_path, bool need_transform_annotations=false)
Transform a PDF page, including annotations and form fields on the page.
Definition: fs_basictypes.h:427
Page size: letter.
Definition: fs_pdfpage.h:492
bool Normalize()
Transform current PDF page by undoing any rotation and removing the offset to the page's "CropBox".
virtual ~GraphicsObjects()
Destructor.
Definition: fs_pdfpage.h:64
bool GenerateContent()
Generate contents of current graphics objects.
Page size: A3.
Definition: fs_pdfpage.h:498
common::Bitmap LoadThumbnail()
Load the thumbnail bitmap.
@2024 Foxit Software Incorporated. All rights reserved.