Foxit PDF SDK

Public 类型 | Public 成员函数 | 所有成员列表
foxit::pdf::TextPage类 参考
类 foxit::pdf::TextPage 继承关系图:

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

## Public 成员函数
| TextPage (const PDFPage &page, int flags=foxit::pdf::TextPage::e_ParseTextNormal)
| 从已解析的PDF页面构造函数。 更多...
| TextPage (const TextPage &other)
| 用另一个文本页面对象的构造函数。 更多...
| ~TextPage ()
| 析构函数。
common::Rotation | GetBaselineRotation (int rect_index)
| 获取指定矩形的文本趋势（作为旋转）。 更多...
int | GetCharCount () const
| 获取所有字符的数量。 更多...
TextPageCharInfo | GetCharInfo (int char_index)
| 获取特定字符的字符信息。 更多...
common::Range | GetCharRange (const RectF &rect)
| 获取指定矩形区域内所有文本矩形的字符索引范围。 更多...
WString | GetChars (int start=0, int count=-1) const
| 获取由起始索引和数量指定范围内的所有字符。 更多...
int | GetIndexAtPos (float x, float y, float tolerance) const
| 获取页面上指定位置处或附近的字符索引， 在PDF坐标系统中。 更多...
WString | GetText (TextOrderFlag flag) const
| 获取页面文本。 更多...
WString | GetTextInRect (const RectF &rect) const
| 获取矩形内的文本，在PDF坐标系统中。 更多...
RectF | GetTextRect (int rect_index) const
| 通过索引获取文本矩形。 更多...
RectFArray | GetTextRectArrayByRect (const RectF &rect)
| 获取指定矩形区域内所有文本矩形的数组。 更多...
int | GetTextRectCount (int start=0, int count=-1)
| 计算由起始索引和数量指定范围内的文本矩形。 更多...
WString | GetTextUnderAnnot (annots::Annot &annot) const
| 获取与指定注释相交的页面文本。 更多...
common::Range | GetWordAtPos (float x, float y, float tolerance) const
| 获取页面上指定位置处或附近单词的字符范围， 在PDF坐标系统中。 更多...
bool | IsEmpty () const
| 检查当前对象是否为空。 更多...
bool | operator!= (const TextPage &other) const
| 不等于操作符。 更多...
TextPage & | operator= (const TextPage &other)
| 赋值操作符。 更多...
bool | operator== (const TextPage &other) const
| 等于操作符。 更多...
Public 成员函数 继承自 foxit::Base
FS_HANDLE | Handle () const
| 获取当前对象的句柄。 更多...

## 详细描述

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

- 要在PDF页面的文本内容中搜索文本，请使用文本页面对象构造 TextSearch 对象。
- 要访问用作超文本链接的文本，请使用文本页面对象构造 PageTextLinks 对象。

参见
  TextSearch
  PageTextLinks

## 成员枚举类型说明

## ◆ TextOrderFlag

enum foxit::pdf::TextPage::TextOrderFlag

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

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

枚举值
e_TextStreamOrder | 如果设置，表示按流顺序获取PDF页面的文本内容。
e_TextDisplayOrder | 如果设置，表示按显示顺序获取PDF页面的文本内容。

## ◆ TextParseFlags

enum foxit::pdf::TextPage::TextParseFlags

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

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

枚举值
e_ParseTextNormal | 通过根据字符在PDF页面中的位置规范化字符来解析PDF页面的文本内容。
e_ParseTextOutputHyphen | 在换行时输出连字符来解析PDF页面的文本内容。
e_ParseTextUseStreamOrder | 按流顺序解析PDF页面的文本内容。

## 构造及析构函数说明

## ◆ TextPage() [1/2]

foxit::pdf::TextPage::TextPage | ( | const PDFPage & | page,
|  | int | flags = `foxit::pdf::TextPage::e_ParseTextNormal`
| ) |  |
| explicit

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

参数

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

## ◆ TextPage() [2/2]

foxit::pdf::TextPage::TextPage | ( | const TextPage & | other | ) |

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

参数

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

## 成员函数说明

## ◆ GetBaselineRotation()

common::Rotation foxit::pdf::TextPage::GetBaselineRotation | ( | int | rect_index | ) |

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

参数

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

返回
  文本趋势，作为旋转值。请参考从 common::e_Rotation0 开始的值， 这将是这些值中的一个。

## ◆ GetCharCount()

int foxit::pdf::TextPage::GetCharCount | ( |  | ) | const

获取所有字符的数量。

返回
  字符数量。

## ◆ GetCharInfo()

TextPageCharInfo foxit::pdf::TextPage::GetCharInfo | ( | int | char_index | ) |

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

参数

  [in] | char_index | 字符的从零开始的索引。 范围：从0到(charcount - 1)。charcount 由函数 TextPage::GetCharCount 返回。

返回
  由字符索引指定的字符的字符信息。

## ◆ GetCharRange()

common::Range foxit::pdf::TextPage::GetCharRange | ( | const RectF & | rect | ) |

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

参数

  [in] | rect | 矩形区域，在PDF坐标系统中。

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

## ◆ GetChars()

WString foxit::pdf::TextPage::GetChars | ( | int | start = `0`,
|  | int | count = `-1`
| ) |  | const

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

参数

  [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
| ) |  | const

获取页面上指定位置处或附近的字符索引， 在PDF坐标系统中。

参数

  [in] | x | x位置的值，在PDF坐标系统中。
  [in] | y | y位置的值，在PDF坐标系统中。
  [in] | tolerance | 字符命中检测的容差值，以点为单位。这不应为负数。

返回
  位于或接近点(x,y)的字符索引，从0开始。特别地，如果在点(x, y)附近 有多个字符，将返回最小的字符索引。 如果在该点处或附近没有字符，将返回-1。

## ◆ GetText()

WString foxit::pdf::TextPage::GetText | ( | TextOrderFlag | flag | ) | const

获取页面文本。

参数

  [in] | flag | 文本顺序标志，决定如何获取相关PDF页面的文本内容。请参考从 TextPage::e_TextStreamOrder 开始的值，这应该是这些值中的一个。

返回
  相关PDF页面的所有文本内容，按指定的文本顺序。

## ◆ GetTextInRect()

WString foxit::pdf::TextPage::GetTextInRect | ( | const RectF & | rect | ) | const

获取矩形内的文本，在PDF坐标系统中。

参数

  [in] | rect | 矩形区域，在PDF坐标系统中。

返回
  指定矩形内的文本字符串。

## ◆ GetTextRect()

RectF foxit::pdf::TextPage::GetTextRect | ( | int | rect_index | ) | const

通过索引获取文本矩形。

参数

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

返回
  指定的文本矩形。

## ◆ GetTextRectArrayByRect()

RectFArray foxit::pdf::TextPage::GetTextRectArrayByRect | ( | const RectF & | rect | ) |

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

参数

  [in] | rect | 矩形区域，在PDF坐标系统中。

返回
  指定矩形内的文本矩形数组。

## ◆ GetTextRectCount()

int foxit::pdf::TextPage::GetTextRectCount | ( | int | start = `0`,
|  | int | count = `-1`
| ) |  |

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

参数

  [in] | start | 字符索引范围中起始字符的索引。 有效范围：从0到(charcount -1)。charcount 由函数 TextPage::GetCharCount 返回。
  [in] | count | 字符索引范围中的字符数量。-1表示获取从start_index到PDF页面末尾的 所有字符。

返回
  指定字符索引范围内的文本矩形数量。-1表示错误。

## ◆ GetTextUnderAnnot()

WString foxit::pdf::TextPage::GetTextUnderAnnot | ( | annots::Annot & | annot | ) | const

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

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

参数

  [in] | annot | 注释。要检索与此注释相交的页面文本。 目前，仅支持文本标记注释 （高亮/下划线/删除线/波浪线注释）；对于其他类型的注释， 此函数将抛出异常 foxit::e_ErrUnsupported。

返回
  与指定注释相交的文本。

## ◆ GetWordAtPos()

common::Range foxit::pdf::TextPage::GetWordAtPos | ( | float | x,
|  | float | y,
|  | float | tolerance
| ) |  | const

获取页面上指定位置处或附近单词的字符范围， 在PDF坐标系统中。

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

参数

  [in] | x | x位置的值，在PDF坐标系统中。
  [in] | y | y位置的值，在PDF坐标系统中。
  [in] | tolerance | 单词命中检测的容差值，以点为单位。这不应为负数。

返回
  表示期望单词的字符范围。此范围对象中最多会有一个有效的范围段。 如果返回的范围对象为空，表示未找到此类单词。

## ◆ IsEmpty()

bool foxit::pdf::TextPage::IsEmpty | ( |  | ) | const

检查当前对象是否为空。

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

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

## ◆ operator!=()

bool foxit::pdf::TextPage::operator!= | ( | const TextPage & | other | ) | const

不等于操作符。

参数

  [in] | other | 另一个文本页面对象。此函数将检查当前对象是否不等于这个对象。

返回
  true 表示不相等，false 表示相等。

## ◆ operator=()

TextPage& foxit::pdf::TextPage::operator= | ( | const TextPage & | other | ) |

赋值操作符。

参数

  [in] | other | 另一个文本页面对象，其值将被赋给当前对象。

返回
  对当前对象自身的引用。

## ◆ operator==()

bool foxit::pdf::TextPage::operator== | ( | const TextPage & | other | ) | const

等于操作符。

参数

  [in] | other | 另一个文本页面对象。此函数将检查当前对象是否等于这个对象。

返回
  true 表示相等，false 表示不相等。