Foxit PDF SDK
foxit.pdf.TextPage类 参考
类 foxit.pdf.TextPage 继承关系图:
foxit.common.Base

Public 类型

enum  TextOrderFlag { TextOrderFlag.e_TextStreamOrder = 0, TextOrderFlag.e_TextDisplayOrder = 1 }
 获取PDF页面文本内容时使用的文本顺序标志枚举。 更多...
 
enum  TextParseFlags { TextParseFlags.e_ParseTextNormal = 0x0000, TextParseFlags.e_ParseTextOutputHyphen = 0x0001, TextParseFlags.e_ParseTextUseStreamOrder = 0x0002 }
 用于文本页面的解析标志枚举。 更多...
 

Public 成员函数

 TextPage (PDFPage page, int flags)
 从已解析的PDF页面构造函数。 更多...
 
 TextPage (TextPage other)
 用另一个文本页面对象的构造函数。 更多...
 
Rotation GetBaselineRotation (int rect_index)
 获取指定矩形的文本趋势(作为旋转)。 更多...
 
int GetCharCount ()
 获取所有字符的数量。 更多...
 
TextPageCharInfo GetCharInfo (int char_index)
 获取特定字符的字符信息。 更多...
 
Range GetCharRange (RectF rect)
 获取指定矩形区域内所有文本矩形的字符索引范围。 更多...
 
string GetChars (int start, int count)
 获取由起始索引和数量指定范围内的所有字符。 更多...
 
int GetIndexAtPos (float x, float y, float tolerance)
 获取页面上指定位置处或附近的字符索引, 在中。 更多...
 
string GetText (TextPage.TextOrderFlag flag)
 获取页面文本。 更多...
 
string GetTextInRect (RectF rect)
 获取矩形内的文本,在中。 更多...
 
RectF GetTextRect (int rect_index)
 通过索引获取文本矩形。 更多...
 
RectFArray GetTextRectArrayByRect (RectF rect)
 获取指定矩形区域内所有文本矩形的数组。 更多...
 
int GetTextRectCount (int start, int count)
 计算由起始索引和数量指定范围内的文本矩形。 更多...
 
string GetTextUnderAnnot (Annot annot)
 获取与指定注释相交的页面文本。 更多...
 
Range GetWordAtPos (float x, float y, float tolerance)
 获取页面上指定位置处或附近单词的字符范围, 在中。 更多...
 
bool IsEmpty ()
 检查当前对象是否为空。 更多...
 

详细描述

PDF文本页面表示PDF页面中的所有文本内容,根据为这些文本指定的解析标志。 类 TextPage 可用于检索PDF页面中文本的信息,例如单个字符、单个单词、 指定字符范围或矩形内的文本内容等。
此类对象还可用于构造其他文本相关类的对象,以便对文本内容进行更多操作 或从文本内容访问指定信息:

  • 要在PDF页面的文本内容中搜索文本,请使用文本页面对象构造 TextSearch 对象。

  • 要访问用作超文本链接的文本,请使用文本页面对象构造 PageTextLinks 对象。

参见
TextSearch
PageTextLinks

成员枚举类型说明

◆ TextOrderFlag

获取PDF页面文本内容时使用的文本顺序标志枚举。

此枚举的值可以单独使用。

枚举值
e_TextStreamOrder 

如果设置,表示按流顺序获取PDF页面的文本内容。

e_TextDisplayOrder 

如果设置,表示按显示顺序获取PDF页面的文本内容。

◆ TextParseFlags

用于文本页面的解析标志枚举。

此枚举的值可以单独使用或组合使用。

枚举值
e_ParseTextNormal 

通过根据字符在PDF页面中的位置规范化字符来解析PDF页面的文本内容。

e_ParseTextOutputHyphen 

在换行时输出连字符来解析PDF页面的文本内容。

e_ParseTextUseStreamOrder 

按流顺序解析PDF页面的文本内容。

构造及析构函数说明

◆ TextPage() [1/2]

foxit.pdf.TextPage.TextPage ( PDFPage  page,
int  flags 
)
inline

从已解析的PDF页面构造函数。

参数
[in]page有效的PDF页面对象。此页面应已被解析。
[in]flags文本页面的解析标志。请参考从 foxit.pdf.TextPage.TextParseFlags.e_ParseTextNormal 开始的值,这可以是这些值中的一个或组合。

◆ TextPage() [2/2]

foxit.pdf.TextPage.TextPage ( TextPage  other)
inline

用另一个文本页面对象的构造函数。

参数
[in]other另一个文本页面对象。

成员函数说明

◆ GetBaselineRotation()

Rotation foxit.pdf.TextPage.GetBaselineRotation ( int  rect_index)
inline

获取指定矩形的文本趋势(作为旋转)。

参数
[in]rect_index要检索的矩形的索引。 有效范围:从0到(count -1)。count 由函数 TextPage.GetTextRectCount 返回。
返回
文本趋势,作为旋转值。请参考从 foxit.common.Rotation.e_Rotation0 开始的值, 这将是这些值中的一个。

◆ GetCharCount()

int foxit.pdf.TextPage.GetCharCount ( )
inline

获取所有字符的数量。

返回
字符数量。

◆ GetCharInfo()

TextPageCharInfo foxit.pdf.TextPage.GetCharInfo ( int  char_index)
inline

获取特定字符的字符信息。

参数
[in]char_index字符的从零开始的索引。 范围:从0到(charcount - 1)。charcount 由函数 TextPage.GetCharCount 返回。
返回
由字符索引指定的字符的字符信息。

◆ GetCharRange()

Range foxit.pdf.TextPage.GetCharRange ( RectF  rect)
inline

获取指定矩形区域内所有文本矩形的字符索引范围。

参数
[in]rect矩形区域,在中。
返回
指定矩形区域内所有文本矩形的字符索引范围。

◆ GetChars()

string foxit.pdf.TextPage.GetChars ( int  start,
int  count 
)
inline

获取由起始索引和数量指定范围内的所有字符。

参数
[in]start起始字符的索引,它是期望文本内容的第一个字符。 有效范围:从0到(charcount -1)。charcount 由函数 TextPage.GetCharCount 返回。默认值:0。
[in]count要检索的字符数量。-1表示获取从start_index到PDF页面末尾的 所有字符。特别地,当参数count 大于(charcount - start),将检索所有剩余字符 (从start_index开始)。charcount 由函数 TextPage.GetCharCount 返回。默认值:-1。
返回
指定字符索引范围内的字符。

◆ GetIndexAtPos()

int foxit.pdf.TextPage.GetIndexAtPos ( float  x,
float  y,
float  tolerance 
)
inline

获取页面上指定位置处或附近的字符索引, 在中。

参数
[in]xx位置的值,在中。
[in]yy位置的值,在中。
[in]tolerance字符命中检测的容差值,以点为单位。这不应为负数。
返回
位于或接近点(x,y)的字符索引,从0开始。特别地,如果在点(x, y)附近 有多个字符,将返回最小的字符索引。 如果在该点处或附近没有字符,将返回-1。

◆ GetText()

string foxit.pdf.TextPage.GetText ( TextPage.TextOrderFlag  flag)
inline

获取页面文本。

参数
[in]flag文本顺序标志,决定如何获取相关PDF页面的文本内容。请参考从 foxit.pdf.TextPage.TextOrderFlag.e_TextStreamOrder 开始的值,这应该是这些值中的一个。
返回
相关PDF页面的所有文本内容,按指定的文本顺序。

◆ GetTextInRect()

string foxit.pdf.TextPage.GetTextInRect ( RectF  rect)
inline

获取矩形内的文本,在中。

参数
[in]rect矩形区域,在中。
返回
指定矩形内的文本字符串。

◆ GetTextRect()

RectF foxit.pdf.TextPage.GetTextRect ( int  rect_index)
inline

通过索引获取文本矩形。

参数
[in]rect_index要检索的矩形的索引。 有效范围:从0到(count -1)。count 由函数 TextPage.GetTextRectCount 返回。
返回
指定的文本矩形。

◆ GetTextRectArrayByRect()

RectFArray foxit.pdf.TextPage.GetTextRectArrayByRect ( RectF  rect)
inline

获取指定矩形区域内所有文本矩形的数组。

参数
[in]rect矩形区域,在中。
返回
指定矩形内的文本矩形数组。

◆ GetTextRectCount()

int foxit.pdf.TextPage.GetTextRectCount ( int  start,
int  count 
)
inline

计算由起始索引和数量指定范围内的文本矩形。

参数
[in]start字符索引范围中起始字符的索引。 有效范围:从0到(charcount -1)。charcount 由函数 TextPage.GetCharCount 返回。
[in]count字符索引范围中的字符数量。-1表示获取从start_index到PDF页面末尾的 所有字符。
返回
指定字符索引范围内的文本矩形数量。-1表示错误。

◆ GetTextUnderAnnot()

string foxit.pdf.TextPage.GetTextUnderAnnot ( Annot  annot)
inline

获取与指定注释相交的页面文本。

如果整个字符或字符的大部分与注释相交, 当前函数将检索此字符。

参数
[in]annot注释。要检索与此注释相交的页面文本。 目前,仅支持文本标记注释 (高亮/下划线/删除线/波浪线注释);对于其他类型的注释, 此函数将抛出异常 foxit.common.ErrorCode.e_ErrUnsupported
返回
与指定注释相交的文本。

◆ GetWordAtPos()

Range foxit.pdf.TextPage.GetWordAtPos ( float  x,
float  y,
float  tolerance 
)
inline

获取页面上指定位置处或附近单词的字符范围, 在中。

目前,对于中文/日文/韩文,仅支持获取指定位置处或附近的单个字符。

参数
[in]xx位置的值,在中。
[in]yy位置的值,在中。
[in]tolerance单词命中检测的容差值,以点为单位。这不应为负数。
返回
表示期望单词的字符范围。此范围对象中最多会有一个有效的范围段。 如果返回的范围对象为空,表示未找到此类单词。

◆ IsEmpty()

bool foxit.pdf.TextPage.IsEmpty ( )
inline

检查当前对象是否为空。

当前对象为空时,意味着当前对象无用。

返回
true 表示当前对象为空,false 表示不为空。