Foxit PDF SDK
FSDK.TextPage Class Reference

Public Member Functions

 constructor (page, flags)
 Constructor, from a parsed PDF page. More...
 
 GetBaselineRotation (rect_index)
 Get the text trend (as rotation) of a specified rectangle. More...
 
 GetCharCount ()
 Get the count of all the characters. More...
 
 GetCharInfo (char_index)
 Get character information of a specific character. More...
 
 GetCharRange (rect)
 Get the character index range of all text rectangles within the specified rectangle region. More...
 
 GetChars (start, count)
 Get all the characters within a range specified by a start index and count. More...
 
 GetIndexAtPos (x, y, tolerance)
 Get the character index at or around a specified position on the page, in PDF coordinate system. More...
 
 GetText (flag)
 Get the page text. More...
 
 GetTextInRect (rect)
 Get the text within a rectangle, in PDF coordinate system. More...
 
 GetTextRect (rect_index)
 Get the text rectangle by the index. More...
 
 GetTextRectArrayByRect (rect)
 Get the array of all text rectangles within the specified rectangle region. More...
 
 GetTextRectCount (start, count)
 Count the text rectangles within a range specified by a start index and count. More...
 
 GetTextUnderAnnot (annot)
 Get the page text which intersect with a specified an annotation. More...
 
 GetWordAtPos (x, y, tolerance)
 Get the character range of a word at or around a specified position on the page, in PDF coordinate system. More...
 
 IsEmpty ()
 Check whether current object is empty or not. More...
 

Public Attributes

 e_TextDisplayOrder
 If this is set, that means to get text content of a PDF page by the display order.
 
 e_TextStreamOrder
 Enumeration for text order flag which is used when getting text content of a PDF page. More...
 

Static Public Attributes

static e_ParseTextNormal
 Enumeration for parsing flags used for text page. More...
 
static e_ParseTextOutputHyphen
 Parse the text content of a PDF page with outputting the hyphen on a line feed.
 
static e_ParseTextUseStreamOrder
 Parse the text content of a PDF page by the stream order.
 

Detailed Description

PDF text page represents all the text contents in a PDF page, according to a specified parsing flag for these text. Class FSDK.TextPage can be used to retrieve information about text in a PDF page, such as single character, single word, text content within specified character range or rectangle and so on.
This class object can also be used to construct objects of other text related classes in order to do more operation for text contents or access specified information from text contents:

  • To search text in text contents of a PDF page, please construct a FSDK.TextSearch object with text page object.
  • To access text that are used as a hypertext link, please construct a FSDK.PageTextLinks object with text page object.
See also
FSDK.TextSearch
FSDK.PageTextLinks

Member Function Documentation

◆ constructor()

FSDK.TextPage.constructor ( page  ,
flags   
)

Constructor, from a parsed PDF page.

Parameters
[in]pageA valid PDF page object. This page should has been parsed.
[in]flagsParsing flags for the text page. Please refer to values starting from FSDK.TextPage.e_ParseTextNormal and this can be one or combination of these values.

◆ GetBaselineRotation()

FSDK.TextPage.GetBaselineRotation ( rect_index  )

Get the text trend (as rotation) of a specified rectangle.

Parameters
[in]rect_indexThe index of the rectangle to be retrieved. Valid range: from 0 to (count -1). count is returned by function FSDK.TextPage.GetTextRectCount.
Returns
Text trend, as rotation value. Please refer to values starting from FSDK.e_Rotation0 and this would be one of these values.

◆ GetCharCount()

FSDK.TextPage.GetCharCount ( )

Get the count of all the characters.

Returns
Count of characters.

◆ GetCharInfo()

FSDK.TextPage.GetCharInfo ( char_index  )

Get character information of a specific character.

Parameters
[in]char_indexA zero-based index of character. Range: from 0 to (charcount - 1).charcount is returned by function FSDK.TextPage.GetCharCount.
Returns
Character information for the character speicifed by character index.

◆ GetCharRange()

FSDK.TextPage.GetCharRange ( rect  )

Get the character index range of all text rectangles within the specified rectangle region.

Parameters
[in]rectA rectangle region, in PDF coordinate system.
Returns
Character index range of all text rectangles within the specified rectangle region.

◆ GetChars()

FSDK.TextPage.GetChars ( start  ,
count   
)

Get all the characters within a range specified by a start index and count.

Parameters
[in]startIndex of start character, which is the first character of the expected text content. Valid range: from 0 to (charcount -1). charcount is returned by function FSDK.TextPage.GetCharCount. Default value: 0.
[in]countCount of characters to be retrieved. -1 means to get the whole characters from start_index to the end of PDF page. Especially, when parameter count is larger than (charcount - start), all the rest character (from start_index) will be retrieved. charcount is returned by function FSDK.TextPage.GetCharCount. Default value: -1.
Returns
The characters within the specified character index range.

◆ GetIndexAtPos()

FSDK.TextPage.GetIndexAtPos ( ,
,
tolerance   
)

Get the character index at or around a specified position on the page, in PDF coordinate system.

Parameters
[in]xValue of x position, in PDF coordinate system.
[in]yValue of y position, in PDF coordinate system.
[in]toleranceTolerance value for character hit detection, in point units. This should not be a negative.
Returns
Index of the character, which is at or nearby point (x,y), starting from 0. Specially, if there are several characters near by point (x, y), the smallest character index will be returned. If there is no character at or nearby the point, -1 will be returned.

◆ GetText()

FSDK.TextPage.GetText ( flag  )

Get the page text.

Parameters
[in]flagText order flag to decide how to get text content of the related PDF page. Please refer to values starting from FSDK.TextPage.e_TextStreamOrder and this should be one of these values.
Returns
All the text content of the related PDF page, in specified text order.

◆ GetTextInRect()

FSDK.TextPage.GetTextInRect ( rect  )

Get the text within a rectangle, in PDF coordinate system.

Parameters
[in]rectA rectangle region, in PDF coordinate system.
Returns
Text string within the specified rectangle.

◆ GetTextRect()

FSDK.TextPage.GetTextRect ( rect_index  )

Get the text rectangle by the index.

Parameters
[in]rect_indexThe index of the rectangle to be retrieved. Valid range: from 0 to (count -1). count is returned by function FSDK.TextPage.GetTextRectCount.
Returns
A specified text rectangle.

◆ GetTextRectArrayByRect()

FSDK.TextPage.GetTextRectArrayByRect ( rect  )

Get the array of all text rectangles within the specified rectangle region.

Parameters
[in]rectA rectangle region, in PDF coordinate system.
Returns
Text rectangle array within the specified rectangle.

◆ GetTextRectCount()

FSDK.TextPage.GetTextRectCount ( start  ,
count   
)

Count the text rectangles within a range specified by a start index and count.

Parameters
[in]startIndex of start character in the character index range. Valid range: from 0 to (charcount -1). charcount is returned by function FSDK.TextPage.GetCharCount.
[in]countCount of characters in the character index range. -1 means to get the whole characters from start_index to the end of PDF page.
Returns
The count of text rectangles in the specified character index range. -1 means error.

◆ GetTextUnderAnnot()

FSDK.TextPage.GetTextUnderAnnot ( annot  )

Get the page text which intersect with a specified an annotation.

If the whole character or most part of the character intersects with an annotation, this character will be retrieved by current function.

Parameters
[in]annotAn annotation. Page text which intersects with this annotation is to be retrieved. Currently, only support text markup annotation (highlight/underline/strike-out/squggly annotations); for annotation in other types, this function will throw exception FSDK.e_ErrUnsupported.
Returns
The text which intersects with the specified annotation.

◆ GetWordAtPos()

FSDK.TextPage.GetWordAtPos ( ,
,
tolerance   
)

Get the character range of a word at or around a specified position on the page, in PDF coordinate system.

Currently, for Chinese/Japanese/Korean, only support to get a single character at or around the specified position.

Parameters
[in]xValue of x position, in PDF coordinate system.
[in]yValue of y position, in PDF coordinate system.
[in]toleranceTolerance value for word hit detection, in point units.This should not be a negative.
Returns
The character range that represents the expected word. There would be at most one valid range segment in this range object. If returned range object is empty, that means no such word is found.

◆ IsEmpty()

FSDK.TextPage.IsEmpty ( )

Check whether current object is empty or not.

When the current object is empty, that means current object is useless.

Returns
true means current object is empty, while false means not.

Member Data Documentation

◆ e_ParseTextNormal

FSDK.TextPage.e_ParseTextNormal
static

Enumeration for parsing flags used for text page.

Values of this enumeration can be used alone or in combination.

Parse the text content of a PDF page by normalizing characters based on their positions in the PDF page.

◆ e_TextStreamOrder

FSDK.TextPage.e_TextStreamOrder

Enumeration for text order flag which is used when getting text content of a PDF page.

Values of this enumeration can be used alone.

If this is set, that means to get text content of a PDF page by the stream order.