Foxit PDF SDK
com.foxit.sdk.pdf.PDFPage Class Reference
Inheritance diagram for com.foxit.sdk.pdf.PDFPage:
com.foxit.sdk.pdf.GraphicsObjects com.foxit.sdk.common.Base

Public Member Functions

 PDFPage (GraphicsObjects other)
 Constructor, with parent class object.
More...
 
 PDFPage (PDFDoc document, PDFDictionary page_dict)
 Constructor, from a PDF dictionary which represents a PDF page and the PDF document which contains the dictionary..
More...
 
Annot addAnnot (int type, RectF rect) throws com.foxit.sdk.PDFException
 Add an annotation to current PDF page.
More...
 
Annot addAnnot (PDFDictionary annot_dict) throws com.foxit.sdk.PDFException
 Add an annotation (by a valid annotation dictionary) to current PDF page.
More...
 
boolean addImage (Image image, int frame_index, PointF position, float width, float height, boolean auto_generate_content) throws com.foxit.sdk.PDFException
 Add an image to current page.
More...
 
boolean addImageFromFilePath (String file_path, PointF position, float width, float height, boolean auto_generate_content) throws com.foxit.sdk.PDFException
 Add an image to current page from file path.
More...
 
Signature addSignature (RectF rect) throws com.foxit.sdk.PDFException
 Add an ordinary signature to PDF page.
More...
 
Signature addSignature (RectF rect, String field_name) throws com.foxit.sdk.PDFException
 Add an ordinary signature to PDF page.
More...
 
Signature addSignature (RectF rect, String field_name, int signature_type, boolean to_check_permission) throws com.foxit.sdk.PDFException
 Add a signature to PDF page.
More...
 
Signature addSignatureWithExistedVDict (RectF rect, String field_name, int signature_type, boolean to_check_permission, Signature existed_signature) throws com.foxit.sdk.PDFException
 Add a signature to PDF page with the existed "V" dictionary in the specific signature.
More...
 
boolean addText (String text, RectF rect, RichTextStyle style, boolean disable_embed_font) throws com.foxit.sdk.PDFException
 Add text to current page.
More...
 
RectF addText (String text, RectF rect, RichTextStyle style, int rotation, boolean disable_embed_font) throws com.foxit.sdk.PDFException
 Add text to current page.
More...
 
RectF calcContentBBox (int mode) throws com.foxit.sdk.PDFException
 Calculate the content area of PDF page.
More...
 
void clearRenderCache ()
 Clear render cache.
More...
 
synchronized void delete ()
 Clean up related resources immediately. More...
 
boolean flatten (boolean for_display, int options) throws com.foxit.sdk.PDFException
 Flatten current PDF page: annotations or form fields may be made to be a part of the page contents according to specified options.
More...
 
boolean flattenAnnot (Annot annot) throws com.foxit.sdk.PDFException
 Flatten an annotation: the annotation is made to be a part of the page contents and be removed then.
More...
 
Annot getAnnot (int index) throws com.foxit.sdk.PDFException
 Get an annotation by index.
More...
 
Annot getAnnotAtDevicePoint (PointF position, float tolerance, Matrix2D matrix) throws com.foxit.sdk.PDFException
 Get the annotation at a specified position, in device coordinate system.
More...
 
Annot getAnnotAtPoint (PointF position, float tolerance) throws com.foxit.sdk.PDFException
 Get the annotation at a specified position, in PDF coordinate system.
More...
 
int getAnnotCount () throws com.foxit.sdk.PDFException
 Get the count of annotations.
More...
 
PDFArray getAnnots () throws com.foxit.sdk.PDFException
 Get the PDF array of "Annots".
More...
 
AnnotArray getAnnotsAtDevicePoint (PointF position, float tolerance, Matrix2D matrix) throws com.foxit.sdk.PDFException
 Get all the annotations at a specified position, in device coordinate system.
More...
 
AnnotArray getAnnotsAtPoint (PointF position, float tolerance) throws com.foxit.sdk.PDFException
 Get all the annotations at a specified position, in PDF coordinate system.
More...
 
RectF getBox (int box_type) throws com.foxit.sdk.PDFException
 Get page box.
More...
 
PDFObject getContents () throws com.foxit.sdk.PDFException
 Get the PDF object of "Contents".
More...
 
PDFDictionary getDict () throws com.foxit.sdk.PDFException
 Get the page dictionary.
More...
 
Matrix2D getDisplayMatrix (int left, int top, int width, int height, int rotate) throws com.foxit.sdk.PDFException
 Get the display matrix of PDF page, from PDF coordinate system to targeted device coordinate system.
More...
 
PDFDoc getDocument () throws com.foxit.sdk.PDFException
 Get the PDF document, to which current PDF page belongs.
More...
 
GraphicsObject getGraphicsObjectAtDevicePoint (PointF point, float tolerance, Matrix2D matrix, int filter) throws com.foxit.sdk.PDFException
 Get the topmost graphics object in specified point in device coordinate system, with specified type filter.
More...
 
GraphicsObject getGraphicsObjectAtPoint (PointF point, float tolerance, int filter) throws com.foxit.sdk.PDFException
 Get the topmost graphics object in specified point, with specified type filter.
More...
 
GraphicsObject getGraphicsObjectAtRectangle (RectF rect, int filter) throws com.foxit.sdk.PDFException
 Get the topmost graphics object whose rectangle interasects with a specified rectangle, with specified type filter.
More...
 
GraphicsObjectArray getGraphicsObjectsAtDevicePoint (PointF point, float tolerance, Matrix2D matrix, int filter) throws com.foxit.sdk.PDFException
 Get all the graphics objects in specified point in device coordinate system, with specified type filter.
More...
 
GraphicsObjectArray getGraphicsObjectsAtPoint (PointF point, float tolerance, int filter) throws com.foxit.sdk.PDFException
 Get all the graphics objects in specified point, with specified type filter.
More...
 
GraphicsObjectArray getGraphicsObjectsAtRectangle (RectF rect, int filter) throws com.foxit.sdk.PDFException
 Get all the graphics objects whose rectangles intersect with a specified rectangle, with specified type filter.
More...
 
float getHeight () throws com.foxit.sdk.PDFException
 Get the page height (unit is 1/72 inch).
More...
 
int getIndex () throws com.foxit.sdk.PDFException
 Get page index.
More...
 
PDFObject getInheritedAttribute (String attruibute_name) throws com.foxit.sdk.PDFException
 Get the PDF object for specified attribute which may be inherited from the ancestor node in the page tree.
More...
 
PDFDictionary getResources () throws com.foxit.sdk.PDFException
 Get the PDF dictionary of "Resources".
More...
 
int getRotation () throws com.foxit.sdk.PDFException
 Get the page rotation.
More...
 
RectF getSuggestedRect (Bitmap render_result, Matrix2D render_matrix, PointF point) throws com.foxit.sdk.PDFException
 Get the suggested rectangle (in PDF coordinate system) for a point (in PDFcoordinate system") based on the rendering result bitmap.
More...
 
PDFStream getThumb () throws com.foxit.sdk.PDFException
 Get the PDF stream of "Thumb".
More...
 
float getUserUnitSize () throws com.foxit.sdk.PDFException
 Get the user unit.
More...
 
float getWidth () throws com.foxit.sdk.PDFException
 Get the page width (unit is 1/72 inch).
More...
 
boolean hasTransparency () throws com.foxit.sdk.PDFException
 Check whether current PDF page has transparency or not.
More...
 
boolean hasWatermark () throws com.foxit.sdk.PDFException
 Check whether the current page has any watermark (not including Foxit PDF SDK trial watermark).
More...
 
boolean isParsed () throws com.foxit.sdk.PDFException
 Check if current page has been parsed or not.
More...
 
Bitmap loadThumbnail () throws com.foxit.sdk.PDFException
 Load the thumbnail bitmap.
More...
 
void moveAnnotToFirst (Annot annot) throws com.foxit.sdk.PDFException
 Change specified annotation to be the first one of all annotations.
More...
 
void moveAnnotToLast (Annot annot) throws com.foxit.sdk.PDFException
 Change specified annotation to be the last one of all annotations.
More...
 
void moveAnnotToNext (Annot annot) throws com.foxit.sdk.PDFException
 Exchange the indexes of current annotation and its next annotation.
More...
 
void moveAnnotToPrev (Annot annot) throws com.foxit.sdk.PDFException
 Exchange the indexes of current annotation and its previous annotation.
More...
 
boolean normalize () throws com.foxit.sdk.PDFException
 Transform current PDF page by undoing any rotation and removing the offset to the page's "CropBox".
More...
 
boolean removeAllWatermarks () throws com.foxit.sdk.PDFException
 Remove all watermarks.
More...
 
boolean removeAnnot (Annot annot) throws com.foxit.sdk.PDFException
 Remove an annotation.
More...
 
boolean setAnnotGroup (MarkupArray annot_array, int header_index) throws com.foxit.sdk.PDFException
 Group all the input markup annotations together.
More...
 
void setBox (int box_type, RectF box) throws com.foxit.sdk.PDFException
 Set page box.
More...
 
void setClipRect (RectF clip_rect) throws com.foxit.sdk.PDFException
 Set clip rectangle for all graphics objects on current PDF page.
More...
 
void setRotation (int rotate) throws com.foxit.sdk.PDFException
 Set page rotation.
More...
 
void setSize (float width, float height) throws com.foxit.sdk.PDFException
 Set page width and height.
More...
 
void setSize (int size) throws com.foxit.sdk.PDFException
 Set page size type.
More...
 
void setThumbnail (Bitmap thumbnail) throws com.foxit.sdk.PDFException
 Set page thumbnail.
More...
 
void setUserUnitSize (float user_unit) throws com.foxit.sdk.PDFException
 Set the user unit.
More...
 
Progressive startParse (int flags, PauseCallback pause, boolean is_reparse) throws com.foxit.sdk.PDFException
 Start to parse current page.
More...
 
boolean transform (Matrix2D matrix, boolean need_transform_clip_path, boolean need_transform_annotations) throws com.foxit.sdk.PDFException
 Transform a PDF page, including annotations and form fields on the page.
More...
 
void updateAnnotList ()
 Update the annotation list.
More...
 
- Public Member Functions inherited from com.foxit.sdk.pdf.GraphicsObjects
 GraphicsObjects (GraphicsObjects other)
 Constructor, with another GraphicsObjects object.
More...
 
boolean generateContent () throws com.foxit.sdk.PDFException
 Generate contents of current graphics objects.
More...
 
boolean generateContent (int text_merge_option) throws com.foxit.sdk.PDFException
 Generate contents of current graphics objects.
More...
 
long getFirstGraphicsObjectPosition (int filter) throws com.foxit.sdk.PDFException
 Get the position of first graphics object in graphics object list, based on type filter.
More...
 
GraphicsObject getGraphicsObject (int index) throws com.foxit.sdk.PDFException
 Get a graphics object by index.
More...
 
GraphicsObject getGraphicsObject (long position) throws com.foxit.sdk.PDFException
 Get the graphics object by position in graphics object list.
More...
 
int getGraphicsObjectCount () throws com.foxit.sdk.PDFException
 Get the count of graphics objects in graphics object list.
More...
 
int getGraphicsObjectIndex (GraphicsObject graphics_object) throws com.foxit.sdk.PDFException
 Get the index of a specified graphics object in graphics object list.
More...
 
long getGraphicsObjectPosition (GraphicsObject graphics_object) throws com.foxit.sdk.PDFException
 Get the position of the specified graphics object.
More...
 
long getLastGraphicsObjectPosition (int filter) throws com.foxit.sdk.PDFException
 Get the position of last graphics object in graphics object list, based on type filter.
More...
 
long getNextGraphicsObjectPosition (long position, int filter) throws com.foxit.sdk.PDFException
 Get the position of next graphics object in graphics object list, based on type filter and specified current position.
More...
 
long getPrevGraphicsObjectPosition (long position, int filter) throws com.foxit.sdk.PDFException
 Get the position of previous graphics object in graphics object list, based on type filter and specified current position.
More...
 
long insertGraphicsObject (long position_insert_after, GraphicsObject graphics_object) throws com.foxit.sdk.PDFException
 Insert a graphics object after the specified position.
More...
 
boolean isEmpty ()
 Check whether current object is empty or not.
More...
 
long moveGraphicsObjectByPosition (long current_position, long position_move_after) throws com.foxit.sdk.PDFException
 Move a graphics object from a position to another position.
More...
 
boolean removeGraphicsObject (GraphicsObject graphics_object) throws com.foxit.sdk.PDFException
 Remove a graphics object.
More...
 
boolean removeGraphicsObjectByPosition (long position) throws com.foxit.sdk.PDFException
 Remove a graphics object by position.
More...
 

Static Public Attributes

static final int e_ArtBox = 3
 Art Box for page boundary.
More...
 
static final int e_BleedBox = 4
 Bleed Box for page boundary.
More...
 
static final int e_CalcContentsBox = 0
 Calculate margin according to bounding box of all contents.

 
static final int e_CalcDetection = 1
 Calculate margin by detecting paths or images.

 
static final int e_CropBox = 1
 Crop Box for page boundary.
More...
 
static final int e_FlattenAll = 0
 Flatten all contents of a PDF page.

 
static final int e_FlattenNoAnnot = 0x0001
 Flatten a PDF page without annotations.


 
static final int e_FlattenNoFormControl = 0x0002
 Flatten a PDF page without form controls.


 
static final int e_MediaBox = 0
 Media Box for page boundary.
More...
 
static final int e_ParsePageNormal = 0x0000
 Parsing flag for normal mode, which means to parse all the contents in a PDF page.

 
static final int e_ParsePageTextOnly = 0x0001
 Parsing flag for text-only mode.

 
static final int e_SizeA2 = 3
 Page size: A2.

 
static final int e_SizeA3 = 4
 Page size: A3.

 
static final int e_SizeA4 = 5
 Page size: A4.

 
static final int e_SizeA5 = 6
 Page size: A5.

 
static final int e_SizeA6 = 7
 Page size: A6.

 
static final int e_SizeB2 = 8
 Page size: B2.

 
static final int e_SizeB3 = 9
 Page size: B3.

 
static final int e_SizeB4 = 10
 Page size: B4.

 
static final int e_SizeB5 = 11
 Page size: B5.

 
static final int e_SizeB6 = 12
 Page size: B6.

 
static final int e_SizeLegal = 2
 Page size: legal.

 
static final int e_SizeLetter = 1
 Page size: letter.

 
static final int e_TrimBox = 2
 Trim Box for page boundary.
More...
 
- Static Public Attributes inherited from com.foxit.sdk.pdf.GraphicsObjects
static final int e_TextMergeBTET = 2
 Merge consecutive BTETs as a new one.
More...
 
static final int e_TextMergeNone = 0
 No text merge.

 
static final int e_TextMergeTJY = 1
 Merge consecutive text-showing operators with equal y coordinates.

 

Detailed Description

A PDF page is defined in PDF coordinate system which uses the lower-left corner of the page as origin point (0, 0).
Usually, a PDF page object is retrieved from a PDF document by function PDFDoc.getPage . For most case, a PDF page should be parsed first and then be used. Function PDFPage.isParsed can be used to judge whether the PDF page has been parsed or not. For a unparsed page, please use function PDFPage.startParse to parse it.
This class offers functions to get/set data of a PDF page, such as page width/height, page rotation, display matrix and so on. Also, this class offers functions to retrieve PDF annotations:

Class com.foxit.sdk.pdf.PDFPage is derived from class com.foxit.sdk.pdf.GraphicsObjects , so class PDFPage also offers functions to retrieve PDF graphics objects:

This class object can also be used to construct objects of other classes in order to access specified information in PDF page:

  • To access text content in PDF page, please construct a TextPage with PDF page object.
  • To do reflowing, please construct a ReflowPage with PDF page object.
  • To access additional actions, please construct an com.foxit.sdk.pdf.actions.AdditionalAction object with PDF page object.
  • To manage the tab order of annotations in PDF page, please construct a TabOrderMgr with PDF page object.


See also
PDFDoc
GraphicsObjects
TextPage
ReflowPage
com.foxit.sdk.pdf.actions.AdditionalAction
TabOrderMgr

Constructor & Destructor Documentation

◆ PDFPage() [1/2]

com.foxit.sdk.pdf.PDFPage.PDFPage ( PDFDoc  document,
PDFDictionary  page_dict 
)

Constructor, from a PDF dictionary which represents a PDF page and the PDF document which contains the dictionary..

Parameters
[in]documentA valid PDF document.
[in]page_dictA PDF dictionary of a PDF page. It should belong to the PDF document specified by parameter document.

◆ PDFPage() [2/2]

com.foxit.sdk.pdf.PDFPage.PDFPage ( GraphicsObjects  other)

Constructor, with parent class object.

Parameters
[in]otherParent class object.

Member Function Documentation

◆ addAnnot() [1/2]

Annot com.foxit.sdk.pdf.PDFPage.addAnnot ( int  type,
RectF  rect 
) throws com.foxit.sdk.PDFException

Add an annotation to current PDF page.

Currently, this function can support to add most annotation types except:
Widget, Sound, Movie, PrinterMark, TrapNet, Watermark, 3D, PSInk, Redact.
Attention:

  • Widget annotation are used to represent the appearance of a form field, including signature field:
    For signature field, function PDFPage.addSignature can be called to add a new signature object.
    For other types of form field, function interform.Form.addControl can be called to add a new form field (with form control).

  • PSInk annotation should be converted from a PSI object by function PSI.convertToPDFAnnot .
  • Redact annotation should be added to mark areas in PDF page by function addon.Redaction.markRedactAnnot .
  • For supported annotations types, if user does not set any properties of the newly created annotation (except the required properties) and directly calls function annots.Annot.resetAppearanceStream , default appearance will be used. Please refer to comment of concrete annotation class for more details of their own default appearance.


Parameters
[in]typeThe type of annotation to be added. Please refer to values starting from com.foxit.sdk.pdf.annots.Annot.e_Note and this should be one of these values except com.foxit.sdk.pdf.annots.Annot.e_PSInk , com.foxit.sdk.pdf.annots.Annot.e_Sound , com.foxit.sdk.pdf.annots.Annot.e_Movie , com.foxit.sdk.pdf.annots.Annot.e_Widget , com.foxit.sdk.pdf.annots.Annot.e_PrinterMark , com.foxit.sdk.pdf.annots.Annot.e_TrapNet , com.foxit.sdk.pdf.annots.Annot.e_Watermark , com.foxit.sdk.pdf.annots.Annot.e_3D .
[in]rectRectangle of the new annotation.
Returns
The newly created annotation object.

◆ addAnnot() [2/2]

Annot com.foxit.sdk.pdf.PDFPage.addAnnot ( PDFDictionary  annot_dict) throws com.foxit.sdk.PDFException

Add an annotation (by a valid annotation dictionary) to current PDF page.

Parameters
[in]annot_dictAn valid annotation dictionary which is to be added as an annotation to current PDF page.
Returns
The newly created annotation object.

◆ addImage()

boolean com.foxit.sdk.pdf.PDFPage.addImage ( Image  image,
int  frame_index,
PointF  position,
float  width,
float  height,
boolean  auto_generate_content 
) throws com.foxit.sdk.PDFException

Add an image to current page.

If the type of image is com.foxit.sdk.common.Image.e_JPG , the image should be kept valid until the related document is closed.

Parameters
[in]imageAn image. One of its frames will be set to current page. This image contains at least one frame and the image type should not be com.foxit.sdk.common.Image.e_Unknown .
[in]frame_indexFrame index. Valid range: from 0 to (count-1). count is returned by function common.Image.getFrameCount .
[in]positionA specified position which is the bottom left corner of image object, in [PDF coordinate system] (com.foxit.sdk.pdf.PDFPage).
[in]widthThe width which is used for the image to set into page (unit is 1/72 inch). The value should be larger than 0.
[in]heightThe height which is used for the image to set into page (unit is 1/72 inch). The value should be larger than 0.
[in]auto_generate_contenttrue means to generate content internally.
When using false, user should ensure to call function GraphicsObjects.generateContent after adding image. Please refer to function GraphicsObjects.generateContent for more details.
Returns
true means success, while false means failure.

◆ addImageFromFilePath()

boolean com.foxit.sdk.pdf.PDFPage.addImageFromFilePath ( String  file_path,
PointF  position,
float  width,
float  height,
boolean  auto_generate_content 
) throws com.foxit.sdk.PDFException

Add an image to current page from file path.

If input image (specified by file path) has more than one frame, only the first frame will be added to current page acquiescently.

Parameters
[in]file_pathA full path of an existing image file. It should not be an empty string.
[in]positionA specified position which is the bottom left corner of image object, in [PDF coordinate system] (com.foxit.sdk.pdf.PDFPage).
[in]widthThe width which is used for the image to set into page. The value should be larger than 0.
[in]heightThe height which is used for the image to set into page. The value should be larger than 0.
[in]auto_generate_contenttrue means to generate content internally.
When using false, user should ensure to call function GraphicsObjects.generateContent after adding image. Please refer to function GraphicsObjects.generateContent for more details.
Returns
true means success, while false means failure.

◆ addSignature() [1/3]

Signature com.foxit.sdk.pdf.PDFPage.addSignature ( RectF  rect) throws com.foxit.sdk.PDFException

Add an ordinary signature to PDF page.

For a new ordinary signature, its filter will be "Adobe.PPKLite" and sub filter will be "adbe.pkcs7.detached" by default. Please refer to class Signature for more details about signature's filter and sub-filter.
Before signing the new signature, user can also call setting functions of class Signature to set other information used for signing and signed appearance.

Parameters
[in]rectRectangle position for the new signature, in PDF coordinate system. It should be a valid rectangle in PDF coordinate system.
Returns
The newly added signature object.

◆ addSignature() [2/3]

Signature com.foxit.sdk.pdf.PDFPage.addSignature ( RectF  rect,
String  field_name 
) throws com.foxit.sdk.PDFException

Add an ordinary signature to PDF page.

For a new ordinary signature, its filter will be "Adobe.PPKLite" and sub filter will be "adbe.pkcs7.detached" by default. Please refer to class Signature for more details about signature's filter and sub-filter.
Before signing the new signature, user can also call setting functions of class Signature to set other information used for signing and signed appearance.

Parameters
[in]rectRectangle position for the new signature, in PDF coordinate system. It should be a valid rectangle in PDF coordinate system.
[in]field_nameThe signature field name. This can be an empty string.
Returns
The newly added signature object.

◆ addSignature() [3/3]

Signature com.foxit.sdk.pdf.PDFPage.addSignature ( RectF  rect,
String  field_name,
int  signature_type,
boolean  to_check_permission 
) throws com.foxit.sdk.PDFException

Add a signature to PDF page.

For a new ordinary signature, its filter will be "Adobe.PPKLite" and sub filter will be "adbe.pkcs7.detached" by default. For a new time stamp signature, its filter will be "Adobe.PPKLite" and sub filter will be "ETSI.RFC3161" by default. Please refer to class Signature for more details about signature's filter and sub-filter.
Before signing the new signature, user can also call setting functions of class Signature to set other information used for signing and signed appearance.

Parameters
[in]rectRectangle position for the new signature, in PDF coordinate system. If parameter signature_type is com.foxit.sdk.pdf.Signature.e_SignatureTypeTimeStamp , this rectangle will be ignored; otherwise, this should be a valid rectangle in PDF coordinate system.
[in]field_nameThe signature field name. This can be an empty string.
[in]signature_typeSignature type. Please refer to values starting from com.foxit.sdk.pdf.Signature.e_SignatureTypeOrdinary and this should be one of these values.
[in]to_check_permissionA boolean value to decide whether Foxit PDF SDK should check PDF document's permission before adding signature: true means Foxit PDF SDK should check document permission to decide if adding signature is allowed, while false means Foxit PDF SDK should not check document permission before adding signature. When this parameter is false, user should ensure to check document permission to check if adding signature is allowed.
Returns
The newly added signature object.

◆ addSignatureWithExistedVDict()

Signature com.foxit.sdk.pdf.PDFPage.addSignatureWithExistedVDict ( RectF  rect,
String  field_name,
int  signature_type,
boolean  to_check_permission,
Signature  existed_signature 
) throws com.foxit.sdk.PDFException

Add a signature to PDF page with the existed "V" dictionary in the specific signature.

For a new ordinary signature, its filter will be "Adobe.PPKLite" and sub filter will be "adbe.pkcs7.detached" by default. For a new time stamp signature, its filter will be "Adobe.PPKLite" and sub filter will be "ETSI.RFC3161" by default. Please refer to class Signature for more details about signature's filter and sub-filter.
Before signing the new signature, user can also call setting functions of class Signature to set other information used for signing and signed appearance. After sharing the V dictionary, any changes to the entries related to the V dictionary will simultaneously affect the signature's appearance of all signagures shared V dictionaries.

Parameters
[in]rectRectangle position for the new signature, in PDF coordinate system. If parameter signature_type is com.foxit.sdk.pdf.Signature.e_SignatureTypeTimeStamp , this rectangle will be ignored; otherwise, this should be a valid rectangle in PDF coordinate system.
[in]field_nameThe signature field name. This can be an empty string.
[in]signature_typeSignature type. Please refer to values starting from com.foxit.sdk.pdf.Signature.e_SignatureTypeOrdinary and this should be one of these values.
[in]to_check_permissionA boolean value to decide whether Foxit PDF SDK should check PDF document's permission before adding signature: true means Foxit PDF SDK should check document permission to decide if adding signature is allowed, while false means Foxit PDF SDK should not check document permission before adding signature. When this parameter is false, user should ensure to check document permission to check if adding signature is allowed. Default value: true.
[in]existed_signatureThe signature whose "V" dictionary will be used in the newly added signature.
Returns
The newly added signature object.

◆ addText() [1/2]

boolean com.foxit.sdk.pdf.PDFPage.addText ( String  text,
RectF  rect,
RichTextStyle  style,
boolean  disable_embed_font 
) throws com.foxit.sdk.PDFException

Add text to current page.

The text wraps around if it is too long to fit the rectangle.

Parameters
[in]textContent of the new text string. This should not be an empty string.
[in]rectThe box rectangle, in PDF coordinate system.
[in]styleStyle data used for the new text string.
[in]disable_embed_fontA boolean value which indicates whether to disable embed font. true means to disable embed font, while false means not to.
Returns
true means success, while false means failure.
Note
When this function succeeds, function GraphicsObjects.generateContent should be called. Please refer to function GraphicsObjects.generateContent for more details.

◆ addText() [2/2]

RectF com.foxit.sdk.pdf.PDFPage.addText ( String  text,
RectF  rect,
RichTextStyle  style,
int  rotation,
boolean  disable_embed_font 
) throws com.foxit.sdk.PDFException

Add text to current page.

The text wraps around if it is too long to fit the rectangle.

Parameters
[in]textContent of the new text string. This should not be an empty string.
[in]rectThe box rectangle, in PDF coordinate system.
[in]styleStyle data used for the new text string.
[in]rotationThe rotation value for the new text string.
[in]disable_embed_fontA boolean value which indicates whether to disable embed font. true means to disable embed font, while false means not to.
Returns
The rectangle for the content of the text block.
Note
When this function succeeds, function GraphicsObjects.generateContent should be called. Please refer to function GraphicsObjects.generateContent for more details.

◆ calcContentBBox()

RectF com.foxit.sdk.pdf.PDFPage.calcContentBBox ( int  mode) throws com.foxit.sdk.PDFException

Calculate the content area of PDF page.

Before using this function, please ensure current page has been parsed.

Parameters
[in]modeCalculation mode. It should be one of following values:
Returns
The minimal rectangle which contains the visible page content.

◆ clearRenderCache()

void com.foxit.sdk.pdf.PDFPage.clearRenderCache ( )

Clear render cache.

Returns
None.

◆ delete()

synchronized void com.foxit.sdk.pdf.PDFPage.delete ( )

Clean up related resources immediately.

Returns
None.
Note
Once this function is called, current object cannot be used anymore.

Reimplemented from com.foxit.sdk.pdf.GraphicsObjects.

◆ flatten()

boolean com.foxit.sdk.pdf.PDFPage.flatten ( boolean  for_display,
int  options 
) throws com.foxit.sdk.PDFException

Flatten current PDF page: annotations or form fields may be made to be a part of the page contents according to specified options.

Annotation flag can decide if an annotation can be displayed or if an annotation can be printed. This also affects the flattened result:

  • If the flattened result is used for displaying, only annotations which can be displayed will be flattened to be a part of page contents.
  • If the flattened result is used for printing, only annotations which can be printed will be flattened to be a part of page contents.

Form field's appearance is represents by widget annotation which is a kind of annotation and treated as form control in Foxit PDF SDK. So annotation flag affects a form field as well when a form field is to be flattened. For more details about annotation flag, please refer to values starting from com.foxit.sdk.pdf.annots.Annot.e_FlagInvisible and Section 8.4.2 "Annotation Flags" in <PDF Reference 1.7>.
After an annotation or a form field is flattened, it will not be an annotation or a form field any more. After flattening current page successfully, user should re-parse this page by function PDFPage.startParse .

Parameters
[in]for_displayDecide the purpose of the flattened result: true means the flatten result is used for display only, and false means the flatten result is used for print only.
[in]optionsThe flatten options. Please refer to values starting from com.foxit.sdk.pdf.PDFPage.e_FlattenAll and this should one or a combination of them.
Specially, if com.foxit.sdk.pdf.PDFPage.e_FlattenNoAnnot and com.foxit.sdk.pdf.PDFPage.e_FlattenNoFormControl are used together, that means nothing is to be flatten to page and this function will return true directly.
Returns
true means current page is flattened successfully, while false means failure.

◆ flattenAnnot()

boolean com.foxit.sdk.pdf.PDFPage.flattenAnnot ( Annot  annot) throws com.foxit.sdk.PDFException

Flatten an annotation: the annotation is made to be a part of the page contents and be removed then.

After flattening the annotation successfully, user should re-parse this page by function PDFPage.startParse .

Parameters
[in]annotAn annotation to be flattened and removed.
Returns
true means success, while false means failure.

◆ getAnnot()

Annot com.foxit.sdk.pdf.PDFPage.getAnnot ( int  index) throws com.foxit.sdk.PDFException

Get an annotation by index.

Parameters
[in]indexAnnotation index. Valid range: from 0 to (count-1). count is returned by function PDFPage.getAnnotCount .
Returns
An annotation object.

◆ getAnnotAtDevicePoint()

Annot com.foxit.sdk.pdf.PDFPage.getAnnotAtDevicePoint ( PointF  position,
float  tolerance,
Matrix2D  matrix 
) throws com.foxit.sdk.PDFException

Get the annotation at a specified position, in device coordinate system.

If there are several annotations in this specified position, this function will always return the topmost annotation. Annotations with flag com.foxit.sdk.pdf.annots.Annot.e_FlagNoView or com.foxit.sdk.pdf.annots.Annot.e_FlagHidden or com.foxit.sdk.pdf.annots.Annot.e_FlagInvisible will not be retrieved by this function.If the returned annotation has a flag com.foxit.sdk.pdf.annots.Annot.e_FlagReadOnly ,it cannot be modified.

Parameters
[in]positionThe specified position, in device coordinate system.
[in]toleranceTolerance value. Valid range: 0.0f to 30.0f.
[in]matrixThe transformation matrix. Usually this is returned by function PDFPage.getDisplayMatrix . If this is null, current function will have the same feature as function PDFPage.getAnnotAtPoint .
Returns
An annotation object. If the return value of function annots.Annot.isEmpty for the returned annotation object is true, that means no PDF annotation can be found.

◆ getAnnotAtPoint()

Annot com.foxit.sdk.pdf.PDFPage.getAnnotAtPoint ( PointF  position,
float  tolerance 
) throws com.foxit.sdk.PDFException

Get the annotation at a specified position, in PDF coordinate system.

If there are several annotations in this specified position, this function will always return the topmost annotation. Annotations with flag com.foxit.sdk.pdf.annots.Annot.e_FlagNoView or com.foxit.sdk.pdf.annots.Annot.e_FlagHidden or com.foxit.sdk.pdf.annots.Annot.e_FlagInvisible will not be retrieved by this function. If the returned annotation has a flag com.foxit.sdk.pdf.annots.Annot.e_FlagReadOnly ,it cannot be modified.

Parameters
[in]positionThe specified position, in PDF coordinate system.
[in]toleranceTolerance value. Valid range: 0.0f to 30.0f.
Returns
An annotation object. If the return value of function annots.Annot.isEmpty for the returned annotation object is true, that means no PDF annotation can be found.

◆ getAnnotCount()

int com.foxit.sdk.pdf.PDFPage.getAnnotCount ( ) throws com.foxit.sdk.PDFException

Get the count of annotations.

Returns
The count of annotations.

◆ getAnnots()

PDFArray com.foxit.sdk.pdf.PDFPage.getAnnots ( ) throws com.foxit.sdk.PDFException

Get the PDF array of "Annots".

Note
Please refer to "TABLE 3.27 Entries in a page object" in <PDF Reference 1.7> P147 for more details.
Returns
The PDF array of "Annots". If there is no "Annots" entry or any error occurs, this function will return null.

◆ getAnnotsAtDevicePoint()

AnnotArray com.foxit.sdk.pdf.PDFPage.getAnnotsAtDevicePoint ( PointF  position,
float  tolerance,
Matrix2D  matrix 
) throws com.foxit.sdk.PDFException

Get all the annotations at a specified position, in device coordinate system.

In one specified position, there may exist several annotations. This function can be used to retrieve all these annotations in the specified position. Annotations with flag com.foxit.sdk.pdf.annots.Annot.e_FlagNoView or com.foxit.sdk.pdf.annots.Annot.e_FlagHidden or com.foxit.sdk.pdf.annots.Annot.e_FlagInvisible will not be retrieved by this function.
If the return annotation object of function annots.AnnotArray.getAt for the returned annotation array object has flag com.foxit.sdk.pdf.annots.Annot.e_FlagReadOnly , that means the annotation cannot be modified.

Parameters
[in]positionThe specified position, in device coordinate system.
[in]toleranceTolerance value. Valid range: 0.0f to 30.0f.
[in]matrixThe transformation matrix. Usually this is returned by function PDFPage.getDisplayMatrix . If this is null, current function will have the same feature as function PDFPage.getAnnotAtPoint .
Returns
The array of annotation. If the return value of function annots.AnnotArray.getSize for the returned annotation array object is 0, that means no PDF annotation can be found.

◆ getAnnotsAtPoint()

AnnotArray com.foxit.sdk.pdf.PDFPage.getAnnotsAtPoint ( PointF  position,
float  tolerance 
) throws com.foxit.sdk.PDFException

Get all the annotations at a specified position, in PDF coordinate system.

In one specified position, there may exist several annotations. This function can be used to retrieve all these annotations in the specified position. Annotations with flag com.foxit.sdk.pdf.annots.Annot.e_FlagNoView or com.foxit.sdk.pdf.annots.Annot.e_FlagHidden or com.foxit.sdk.pdf.annots.Annot.e_FlagInvisible will not be retrieved by this function.
If the return annotation object of function annots.AnnotArray.getAt for the returned annotation array object has flag com.foxit.sdk.pdf.annots.Annot.e_FlagReadOnly , that means the annotation cannot be modified.

Parameters
[in]positionThe specified position, in PDF coordinate system.
[in]toleranceTolerance value. Valid range: 0.0f to 30.0f.
Returns
The array of annotation. If the return value of function annots.AnnotArray.getSize for the returned annotation array object is 0, that means no PDF annotation can be found.

◆ getBox()

RectF com.foxit.sdk.pdf.PDFPage.getBox ( int  box_type) throws com.foxit.sdk.PDFException

Get page box.

Parameters
[in]box_typePage box type. Please refer to values starting from com.foxit.sdk.pdf.PDFPage.e_MediaBox and this should be one of these values.
Returns
A box rectangle, in PDF coordinate system.

◆ getContents()

PDFObject com.foxit.sdk.pdf.PDFPage.getContents ( ) throws com.foxit.sdk.PDFException

Get the PDF object of "Contents".

Note
"Contents" can be either a PDF stream or a PDF array. Please refer to "TABLE 3.27 Entries in a page object" in <PDF Reference 1.7> P146 for more details.
Returns
The PDF object of "Contents". If there is no "Contents" entry or any error occurs, this function will return null.

◆ getDict()

PDFDictionary com.foxit.sdk.pdf.PDFPage.getDict ( ) throws com.foxit.sdk.PDFException

Get the page dictionary.

Returns
The page dictionary object. If there is any error, this function will return null.

◆ getDisplayMatrix()

Matrix2D com.foxit.sdk.pdf.PDFPage.getDisplayMatrix ( int  left,
int  top,
int  width,
int  height,
int  rotate 
) throws com.foxit.sdk.PDFException

Get the display matrix of PDF page, from PDF coordinate system to targeted device coordinate system.

Parameters
[in]leftLeft position of the transformation area in device coordinate system, commonly in pixels.
[in]topTop position of the transformation area in device coordinate system, commonly in pixels.
[in]widthWidth of the transformation area in device coordinate system, commonly in pixels.
[in]heightHeight of the transformation area in device coordinate system, commonly in pixels.
[in]rotateRotation value. Please refer to values starting from com.foxit.sdk.common.Constants.e_Rotation0 and this should be one of these values except com.foxit.sdk.common.Constants.e_RotationUnknown .
Returns
The display matrix used for current PDF page.

◆ getDocument()

PDFDoc com.foxit.sdk.pdf.PDFPage.getDocument ( ) throws com.foxit.sdk.PDFException

Get the PDF document, to which current PDF page belongs.

Returns
A PDF document object.

◆ getGraphicsObjectAtDevicePoint()

GraphicsObject com.foxit.sdk.pdf.PDFPage.getGraphicsObjectAtDevicePoint ( PointF  point,
float  tolerance,
Matrix2D  matrix,
int  filter 
) throws com.foxit.sdk.PDFException

Get the topmost graphics object in specified point in device coordinate system, with specified type filter.

Parameters
[in]pointA specified position, in device coordinate system.
[in]toleranceTolerance value for a graphics object hit detection, in point units. It should be positive.
[in]matrixThe transformation matrix. Usually this is returned by function PDFPage.getDisplayMatrix .
[in]filterType filter that specifies which kind of graphics object is to be gotten. Please refer to values starting from com.foxit.sdk.pdf.graphics.GraphicsObject.e_TypeAll and this should be one of these values. com.foxit.sdk.pdf.graphics.GraphicsObject.e_TypeAll means for all kinds of graphics objects.
Returns
A com.foxit.sdk.pdf.graphics.GraphicsObject object. If no graphics object can be found, this function will return null.

◆ getGraphicsObjectAtPoint()

GraphicsObject com.foxit.sdk.pdf.PDFPage.getGraphicsObjectAtPoint ( PointF  point,
float  tolerance,
int  filter 
) throws com.foxit.sdk.PDFException

Get the topmost graphics object in specified point, with specified type filter.

Parameters
[in]pointA specified position, in PDF coordinate system.
[in]toleranceTolerance value for a graphics object hit detection, in point units. It should be positive.
[in]filterType filter that specifies which kind of graphics object is to be gotten. Please refer to values starting from com.foxit.sdk.pdf.graphics.GraphicsObject.e_TypeAll and this should be one of these values. com.foxit.sdk.pdf.graphics.GraphicsObject.e_TypeAll means for all kinds of graphics objects.
Returns
A com.foxit.sdk.pdf.graphics.GraphicsObject object. If no graphics object can be found, this function will return null.

◆ getGraphicsObjectAtRectangle()

GraphicsObject com.foxit.sdk.pdf.PDFPage.getGraphicsObjectAtRectangle ( RectF  rect,
int  filter 
) throws com.foxit.sdk.PDFException

Get the topmost graphics object whose rectangle interasects with a specified rectangle, with specified type filter.

Parameters
[in]rectA specified rectangle, in PDF coordinate system.
[in]filterType filter that specifies which kind of graphics object is to be gotten. Please refer to values starting from com.foxit.sdk.pdf.graphics.GraphicsObject.e_TypeAll and this should be one of these values. com.foxit.sdk.pdf.graphics.GraphicsObject.e_TypeAll means for all kinds of graphics objects.
Returns
A graphics object whose rectangle intersects with the specified rectangle. If no suitable graphics object can be found, this function will return null.

◆ getGraphicsObjectsAtDevicePoint()

GraphicsObjectArray com.foxit.sdk.pdf.PDFPage.getGraphicsObjectsAtDevicePoint ( PointF  point,
float  tolerance,
Matrix2D  matrix,
int  filter 
) throws com.foxit.sdk.PDFException

Get all the graphics objects in specified point in device coordinate system, with specified type filter.

Parameters
[in]pointA specified position, in device coordinate system.
[in]toleranceTolerance value for a graphics object hit detection, in point units. It should be positive.
[in]matrixThe transformation matrix. Usually this is returned by function PDFPage.getDisplayMatrix .
[in]filterType filter that specifies which kind of graphics object is to be gotten. Please refer to values starting from com.foxit.sdk.pdf.graphics.GraphicsObject.e_TypeAll and this should be one of these values. com.foxit.sdk.pdf.graphics.GraphicsObject.e_TypeAll means for all kinds of graphics objects.
Returns
An array of com.foxit.sdk.pdf.graphics.GraphicsObject objects.

◆ getGraphicsObjectsAtPoint()

GraphicsObjectArray com.foxit.sdk.pdf.PDFPage.getGraphicsObjectsAtPoint ( PointF  point,
float  tolerance,
int  filter 
) throws com.foxit.sdk.PDFException

Get all the graphics objects in specified point, with specified type filter.

Parameters
[in]pointA specified position, in PDF coordinate system.
[in]toleranceTolerance value for a graphics object hit detection, in point units. It should be positive.
[in]filterType filter that specifies which kind of graphics object is to be gotten. Please refer to values starting from com.foxit.sdk.pdf.graphics.GraphicsObject.e_TypeAll and this should be one of these values. com.foxit.sdk.pdf.graphics.GraphicsObject.e_TypeAll means for all kinds of graphics objects.
Returns
An array of com.foxit.sdk.pdf.graphics.GraphicsObject objects.

◆ getGraphicsObjectsAtRectangle()

GraphicsObjectArray com.foxit.sdk.pdf.PDFPage.getGraphicsObjectsAtRectangle ( RectF  rect,
int  filter 
) throws com.foxit.sdk.PDFException

Get all the graphics objects whose rectangles intersect with a specified rectangle, with specified type filter.

Parameters
[in]rectA specified rectangle, in PDF coordinate system.
[in]filterType filter that specifies which kind of graphics object is to be gotten. Please refer to values starting from com.foxit.sdk.pdf.graphics.GraphicsObject.e_TypeAll and this should be one of these values. com.foxit.sdk.pdf.graphics.GraphicsObject.e_TypeAll means for all kinds of graphics objects.
Returns
An array of graphics objects whose rectangle intersect with the specified rectangle.

◆ getHeight()

float com.foxit.sdk.pdf.PDFPage.getHeight ( ) throws com.foxit.sdk.PDFException

Get the page height (unit is 1/72 inch).

Returns
Page height.

◆ getIndex()

int com.foxit.sdk.pdf.PDFPage.getIndex ( ) throws com.foxit.sdk.PDFException

Get page index.

Returns
Page index, starting from 0 and within the count of pages in related PDF document.

◆ getInheritedAttribute()

PDFObject com.foxit.sdk.pdf.PDFPage.getInheritedAttribute ( String  attruibute_name) throws com.foxit.sdk.PDFException

Get the PDF object for specified attribute which may be inherited from the ancestor node in the page tree.

Some of the page attributes are designated as inheritable, such as "Resources", "MediaBox", "CropBox", and "Rotate". Please refer to "TABLE 3.27 Entries in a page object" in <PDF Reference 1.7> P145 and "Inheritance of Page Attributes" in <PDF Reference 1.7> P149 for more details.

Parameters
[in]attruibute_nameThe name of attribute to be found.
Returns
A PDF object. If not found, this function will return null.

◆ getResources()

PDFDictionary com.foxit.sdk.pdf.PDFPage.getResources ( ) throws com.foxit.sdk.PDFException

Get the PDF dictionary of "Resources".

Note
Please refer to "TABLE 3.27 Entries in a page object" in <PDF Reference 1.7> P145 for more details.
Returns
The PDF dictionary of "Resources". If there is no "Resources" entry or any error occurs, this function will return null.

◆ getRotation()

int com.foxit.sdk.pdf.PDFPage.getRotation ( ) throws com.foxit.sdk.PDFException

Get the page rotation.

Returns
Page rotation value. Please refer to values starting from com.foxit.sdk.common.Constants.e_Rotation0 and this would be one of these values.

◆ getSuggestedRect()

RectF com.foxit.sdk.pdf.PDFPage.getSuggestedRect ( Bitmap  render_result,
Matrix2D  render_matrix,
PointF  point 
) throws com.foxit.sdk.PDFException

Get the suggested rectangle (in PDF coordinate system) for a point (in PDFcoordinate system") based on the rendering result bitmap.

This function can help user to locate a rectangle area (as a suggested rectangle) around a specified point. When a valid suggested rectangle is retrieved, user can use the rectangle to add something to PDF page, such as a new annotation, a new form field, a new signature and etc.
The suggested rectangle for a point means a rectangle which contains specified point and can be drawn in the spare place around the specified point as large as possible. BUT, if any of left/right/top/bottom directions from the point reaches the input bitmap edges directly, no suggested rectangle can be retrieved.
This function does not support a Rbg565 bitmap. If input bitmap is a Rbg565 bitmap, this function will return an empty rectangle directly.

Parameters
[in]render_resultBitmap as the result of rendering current PDF page. This should be a valid bitmap object.
[in]render_matrixThe transformation matrix used for rendering current PDF page and generating parameter render_result as rendering result.
[in]pointA point (in PDF coordinate system) for which a suggested rectangle is to be found.
Returns
The suggested rectangle in PDF coordinate system. If the return value of function RectF::IsEmpty for the returned rectangle object is true, that means no suitable suggested rectangle can be found.

◆ getThumb()

PDFStream com.foxit.sdk.pdf.PDFPage.getThumb ( ) throws com.foxit.sdk.PDFException

Get the PDF stream of "Thumb".

Note
Please refer to "TABLE 3.27 Entries in a page object" in <PDF Reference 1.7> P146 for more details.
Returns
The PDF stream of "Thumb". If there is no "Thumb" entry or any error occurs, this function will return null.

◆ getUserUnitSize()

float com.foxit.sdk.pdf.PDFPage.getUserUnitSize ( ) throws com.foxit.sdk.PDFException

Get the user unit.

A positive number giving the size of default user space units, in multiples of 1/72 inch. The range of supported values is implementation-dependent.

Returns
User unit.

◆ getWidth()

float com.foxit.sdk.pdf.PDFPage.getWidth ( ) throws com.foxit.sdk.PDFException

Get the page width (unit is 1/72 inch).

Returns
Page width.

◆ hasTransparency()

boolean com.foxit.sdk.pdf.PDFPage.hasTransparency ( ) throws com.foxit.sdk.PDFException

Check whether current PDF page has transparency or not.

Before using this function, please ensure current page has been parsed.

Returns
true means current page has transparency, while false means current page does not have transparency.

◆ hasWatermark()

boolean com.foxit.sdk.pdf.PDFPage.hasWatermark ( ) throws com.foxit.sdk.PDFException

Check whether the current page has any watermark (not including Foxit PDF SDK trial watermark).

Before using this function, please ensure current page has been parsed.

Returns
true means the current page has watermark, and false means the current page has no watermark.

◆ isParsed()

boolean com.foxit.sdk.pdf.PDFPage.isParsed ( ) throws com.foxit.sdk.PDFException

Check if current page has been parsed or not.

Returns
true means current page has been parsed, while false means current page has not been parsed yet.

◆ loadThumbnail()

Bitmap com.foxit.sdk.pdf.PDFPage.loadThumbnail ( ) throws com.foxit.sdk.PDFException

Load the thumbnail bitmap.

Returns
The thumbnail bitmap of current page. If the return value of function common.Bitmap.isEmpty for the returned bitmap object is true, that means no thumbnail can be found.

◆ moveAnnotToFirst()

void com.foxit.sdk.pdf.PDFPage.moveAnnotToFirst ( Annot  annot) throws com.foxit.sdk.PDFException

Change specified annotation to be the first one of all annotations.

In PDF page, all the annotations are managed in an annotation list. In the annotation list, annotations with small indexes (as in the font part of the list) will be drawn to the page first, and annotations with large indexes (as in the last part of the list) will be drawn to the page later. So, in a page, if an annotation is shown on the top of other annotations in z-order, that means its index is larger than other annotations in the annotation list.
This function is used to move an annotation from current index position to the first position in the annotation list, in order to move the annotation to the bottom in z-order when displayed.

Parameters
[in]annotAn annotation object to be moved to first. It should be in current PDF page.
Returns
None.

◆ moveAnnotToLast()

void com.foxit.sdk.pdf.PDFPage.moveAnnotToLast ( Annot  annot) throws com.foxit.sdk.PDFException

Change specified annotation to be the last one of all annotations.

In PDF page, all the annotations are managed in an annotation list. In the annotation list, annotations with small indexes (as in the font part of the list) will be drawn to the page first, and annotations with large indexes (as in the last part of the list) will be drawn to the page later. So, in a page, if an annotation is shown on the top of other annotations in z-order, that means its index is larger than other annotations in the annotation list.
This function is used to move an annotation from current index position to the last position in the annotation list, in order to move the annotation to the top in z-order when displayed.

Parameters
[in]annotAn annotation object to be moved to last. It should be in current PDF page.
Returns
None.

◆ moveAnnotToNext()

void com.foxit.sdk.pdf.PDFPage.moveAnnotToNext ( Annot  annot) throws com.foxit.sdk.PDFException

Exchange the indexes of current annotation and its next annotation.

In PDF page, all the annotations are managed in an annotation list. In the annotation list, annotations with small indexes (as in the font part of the list) will be drawn to the page first, and annotations with large indexes (as in the last part of the list) will be drawn to the page later. So, in a page, if an annotation is shown on the top of other annotations in z-order, that means its index is larger than other annotations in the annotation list.
This function is used to exchange the indexes position of current annotation and its next annotation in the annotation list, in order to move the annotation to an upper level in z-order when displayed.

Parameters
[in]annotAn annotation object to be moved. It should be in current PDF page.
Returns
None.

◆ moveAnnotToPrev()

void com.foxit.sdk.pdf.PDFPage.moveAnnotToPrev ( Annot  annot) throws com.foxit.sdk.PDFException

Exchange the indexes of current annotation and its previous annotation.

In PDF page, all the annotations are managed in an annotation list. In the annotation list, annotations with small indexes (as in the font part of the list) will be drawn to the page first, and annotations with large indexes (as in the last part of the list) will be drawn to the page later. So, in a page, if an annotation is shown on the top of other annotations in z-order, that means its index is larger than other annotations in the annotation list.
This function is used to exchange the indexes position of current annotation and its previous annotation in the annotation list, in order to move the annotation to a lower level in z-order when displayed.

Parameters
[in]annotAn annotation object to be moved. It should be in current PDF page.
Returns
None.

◆ normalize()

boolean com.foxit.sdk.pdf.PDFPage.normalize ( ) throws com.foxit.sdk.PDFException

Transform current PDF page by undoing any rotation and removing the offset to the page's "CropBox".

Returns
true means success, while false means failure.
Note
Annotations and form fields will also be adjusted to remain in the same relative position on the PDF page. This makes it easier to add new items to the PDF page as the coordinate system will be relative to the bottom left corner of the visible page.

◆ removeAllWatermarks()

boolean com.foxit.sdk.pdf.PDFPage.removeAllWatermarks ( ) throws com.foxit.sdk.PDFException

Remove all watermarks.

Before using this function, please ensure current page has been parsed.

Returns
true means success, while false means failure.

◆ removeAnnot()

boolean com.foxit.sdk.pdf.PDFPage.removeAnnot ( Annot  annot) throws com.foxit.sdk.PDFException

Remove an annotation.

This function can remove any annotation returned by getting function or adding function.
But for widget annotation, this function can only remove an independent widget annotation. If the widget annotation is associated with a form field, this function cannot remove it and will throw exception com.foxit.sdk.common.Constants.e_ErrUnsupported .
For a widget annotation associated with a form field, please call function interform.Form.removeControl to remove it along with associated form control.

Parameters
[in]annotAn annotation object to be removed. It should be in current PDF page.
Returns
true means success, while false means failure.

◆ setAnnotGroup()

boolean com.foxit.sdk.pdf.PDFPage.setAnnotGroup ( MarkupArray  annot_array,
int  header_index 
) throws com.foxit.sdk.PDFException

Group all the input markup annotations together.

Markup annotations can be grouped. The group consists of a primary annotation and one or more subordinate annotations. Some entries in the primary annotation are treated as group attributes that should apply to the group as a whole; the corresponding entries in the subordinate annotations should be ignored. These entries are contents, last modification time, fill color/border color, title, pop-up annotation, creation time, subject, and open status. So user should respect the group property: when a property of an annotation in the group is changed, the other annotations in the same group should be changed too.
Operations that manipulate any annotation in a group, such as movement, cut, and copy, should be treated by viewer applications as acting on the entire group.

Parameters
[in]annot_arrayAn array of Markup objects that specifies markup annotations which are to be grouped together. This array should contains at least 2 markup annotations, and all the markup annotations in this array should be different from others. All the markup annotations in this array should be in current page.
Specially, if a markup annotation in this array is already in another group, that group will be set to the new group with the new header as well.
[in]header_indexThe index that specifies a markup annotation in parameter annot_array to be the header of the group. Valid range: from 0 to (annot_count -1).
Returns
true means group input markup annotations together successfully, while false means failure.

◆ setBox()

void com.foxit.sdk.pdf.PDFPage.setBox ( int  box_type,
RectF  box 
) throws com.foxit.sdk.PDFException

Set page box.

Parameters
[in]box_typePage box type. Please refer to values starting from com.foxit.sdk.pdf.PDFPage.e_MediaBox and this should be one of these values.
[in]boxNew box rectangle, in PDF coordinate system.
Returns
None.

◆ setClipRect()

void com.foxit.sdk.pdf.PDFPage.setClipRect ( RectF  clip_rect) throws com.foxit.sdk.PDFException

Set clip rectangle for all graphics objects on current PDF page.

After this function finishes successfully, please re-parse current page by function PDFPage.startParse with parameter is_reparse true.

Parameters
[in]clip_rectNew clip rectangle, in PDF coordinate system.
Returns
None.

◆ setRotation()

void com.foxit.sdk.pdf.PDFPage.setRotation ( int  rotate) throws com.foxit.sdk.PDFException

Set page rotation.

Parameters
[in]rotateNew page rotation value. Please refer to values starting from com.foxit.sdk.common.Constants.e_Rotation0 and this should be one of these values except com.foxit.sdk.common.Constants.e_RotationUnknown .
Returns
None.

◆ setSize() [1/2]

void com.foxit.sdk.pdf.PDFPage.setSize ( float  width,
float  height 
) throws com.foxit.sdk.PDFException

Set page width and height.

When changing page width/height, Foxit PDF SDK will always do as following:
First, choose "page rotation is 0" as the basis page status and choose the left-bottom corner of the page (with page rotation is 0) as the basis point. And then, always change the position of top page boundary and right page boundary (with page rotation is 0) to change page size.

Parameters
[in]widthNew page width. It should be a positive value and the unit is 1/72 inch.
[in]heightNew page height. It should be a positive value and the unit is 1/72 inch.
Returns
None.

◆ setSize() [2/2]

void com.foxit.sdk.pdf.PDFPage.setSize ( int  size) throws com.foxit.sdk.PDFException

Set page size type.

When changing page size, Foxit PDF SDK will always do as following:
First, choose "page rotation is 0" as the basis page status and choose the left-bottom corner of the page (with page rotation is 0) as the basis point. And then, always change the position of top page boundary and right page boundary (with page rotation is 0) to change page size.

Parameters
[in]sizeSize type to specify the new size of current page. Please refer to values starting from com.foxit.sdk.pdf.PDFPage.e_SizeLetter and this should be one of these values.
Returns
None.

◆ setThumbnail()

void com.foxit.sdk.pdf.PDFPage.setThumbnail ( Bitmap  thumbnail) throws com.foxit.sdk.PDFException

Set page thumbnail.

Thumbnail bitmap does not use alpha channel. So user is recommended to set a bitmap without alpha channel to be the new thumbnail. If a bitmap with alpha channel is set, the new thumbnail will use white background by default. Currently, this function does not support the bitmap with format com.foxit.sdk.common.Bitmap.e_DIBRgb565 .

Parameters
[in]thumbnailNew page thumbnail. It should be a valid bitmap.
Returns
None.

◆ setUserUnitSize()

void com.foxit.sdk.pdf.PDFPage.setUserUnitSize ( float  user_unit) throws com.foxit.sdk.PDFException

Set the user unit.

A positive number giving the size of default user space units, in multiples of 1/72 inch. The range of supported values is implementation-dependent. If not set, Foxit PDF SDK will use default value 1.0 (user unit is 1/72 inch).

Parameters
[in]user_unitA positive number giving the size of default user space units, in multiples of 1/72 inch.
Returns
None.

◆ startParse()

Progressive com.foxit.sdk.pdf.PDFPage.startParse ( int  flags,
PauseCallback  pause,
boolean  is_reparse 
) throws com.foxit.sdk.PDFException

Start to parse current page.

It may take a long time to parsing a PDF page, so Foxit PDF SDK uses a progressive process to do this. All the resources of page content will be loaded after the PDF page is parsed.

Parameters
[in]flagsParsing flags. Please refer to values starting from com.foxit.sdk.pdf.PDFPage.e_ParsePageNormal and this should be one or a combination of these values.
[in]pausePause callback object which decides if the parsing process needs to be paused. This can be null which means not to pause during the parsing process. If this is not null, it should be a valid pause object implemented by user.
[in]is_reparsetrue means to re-parse current page, while false means not to re-parse current page.
Returns
A progressive object. Please check the rate of current progress by function common.Progressive.getRateOfProgress . If the rate is not 100 yet, call function common.Progressive.resume to continue the progress until the progress is finished.
Note
When parameter is_reparse is set to true, that means to re-parse current PDF page, and all the retrieved graphics object's position (as POSITION object) and graphics object (as com.foxit.sdk.pdf.graphics.GraphicsObject object) will be invalid.
Application needs to get graphics objects again after re-parsing a PDF page.

◆ transform()

boolean com.foxit.sdk.pdf.PDFPage.transform ( Matrix2D  matrix,
boolean  need_transform_clip_path,
boolean  need_transform_annotations 
) throws com.foxit.sdk.PDFException

Transform a PDF page, including annotations and form fields on the page.

Note
This function only supports scaling and translating. After this operation, please re-parse current page by function PDFPage.startParse with parameter is_reparse true, in order that expected content will be displayed.
Parameters
[in]matrixTransform matrix.
[in]need_transform_clip_pathtrue means to transform the page with clip rectangle, while false means not.
[in]need_transform_annotationstrue means to transform the page with annotations. while false means not.
Returns
true means success, while false means failure.

◆ updateAnnotList()

void com.foxit.sdk.pdf.PDFPage.updateAnnotList ( )

Update the annotation list.

If any annotation is modified(added/removed...) by changing "Annots" dictionary item directly, please call this function to update the annotation list after the changing.

Returns
None.

Member Data Documentation

◆ e_ArtBox

final int com.foxit.sdk.pdf.PDFPage.e_ArtBox = 3
static

Art Box for page boundary.

The intended dimensions of a finished page after trimming.

◆ e_BleedBox

final int com.foxit.sdk.pdf.PDFPage.e_BleedBox = 4
static

Bleed Box for page boundary.

The extent of page's meaningful content (including potential white space) as intended by page's creator.

◆ e_CropBox

final int com.foxit.sdk.pdf.PDFPage.e_CropBox = 1
static

Crop Box for page boundary.

The region to which the contents of page are to be clipped (cropped) while displaying or printing.

◆ e_MediaBox

final int com.foxit.sdk.pdf.PDFPage.e_MediaBox = 0
static

Media Box for page boundary.

The boundary of the physical medium on which page is to be displayed or printed.

◆ e_TrimBox

final int com.foxit.sdk.pdf.PDFPage.e_TrimBox = 2
static

Trim Box for page boundary.

The region to which the contents of page should be clipped while outputting in a production environment.