Foxit PDF SDK

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

## Public 类型
enum | SearchFlags { SearchFlags.e_SearchNormal = 0x00, SearchFlags.e_SearchMatchCase = 0x01, SearchFlags.e_SearchMatchWholeWord = 0x02, SearchFlags.e_SearchConsecutive = 0x04, SearchFlags.e_SearchNotMatchFullWidth = 0x20 }
| 搜索标志的枚举。 更多...

## Public 成员函数
| TextSearch (foxit.pdf.PDFDoc document, SearchCancelCallback cancel, int flags)
| 对于PDF文档的构造函数。 更多...
| TextSearch (foxit.addon.xfa.XFADoc xfa_document, SearchCancelCallback cancel)
| 对于指定XFA文档的构造函数。 更多...
| TextSearch (TextPage text_page)
| 对于指定文本页面的构造函数。 更多...
| TextSearch (Annot annot)
| 对于指定PDF注释的构造函数。 更多...
| TextSearch (TextSearch other)
| 用另一个文本搜索对象的构造函数。 更多...
bool | FindNext ()
| 搜索下一个匹配的模式。 更多...
bool | FindPrev ()
| 搜索上一个匹配的模式。 更多...
int | GetMatchEndCharIndex ()
| 基于当前匹配页面，获取当前匹配模式最后一个字符的索引。 更多...
int | GetMatchPageIndex ()
| 获取当前匹配所属的页面索引。 更多...
RectFArray | GetMatchRects ()
| 获取当前匹配模式的矩形。 更多...
string | GetMatchSentence ()
| 获取包含当前匹配模式的句子。 更多...
int | GetMatchSentenceEndIndex ()
| 基于匹配句子，获取当前匹配模式最后一个字符的索引。 更多...
int | GetMatchSentenceStartIndex ()
| 基于匹配句子，获取当前匹配模式第一个字符的索引。 更多...
int | GetMatchStartCharIndex ()
| 基于当前匹配页面，获取当前匹配模式第一个字符的索引。 更多...
bool | IsEmpty ()
| 检查当前对象是否为空。 更多...
bool | SetEndPage (int page_index)
| 设置结束页面索引。 更多...
bool | SetPattern (string key_words, bool is_regex_search)
| 设置要搜索的关键词。 更多...
bool | SetSearchFlags (int search_flags)
| 设置搜索标志。 更多...
bool | SetStartCharacter (int char_index)
| 设置起始字符索引，搜索过程从该位置开始。 更多...
bool | SetStartPage (int page_index)
| 设置起始页面索引。 更多...

## 详细描述

此类可以在PDF文档/XFA文档/文本页面或PDF注释的外观中构造文本搜索。 它提供进行文本搜索和获取搜索结果的函数：

- 要指定搜索模式和选项，请使用函数 TextSearch.SetPattern 、 TextSearch.SetStartPage 、TextSearch.SetEndPage 和 TextSearch.SetSearchFlags 。

- 要进行搜索，请使用函数 TextSearch.FindNext 或 TextSearch.FindPrev 。

- 要获取搜索结果，请使用GetMatchXXX()函数。

## 成员枚举类型说明

## ◆ SearchFlags

enum foxit.pdf.TextSearch.SearchFlags
| strong

搜索标志的枚举。

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

枚举值
e_SearchNormal | 无特殊搜索选项。
e_SearchMatchCase | 如果设置，搜索时匹配关键字的大小写。
e_SearchMatchWholeWord | 如果设置，搜索时匹配关键字的完整单词。
e_SearchConsecutive | 如果设置，搜索时连续匹配关键字。例如，"CC"在"CCC"中将被匹配两次。
e_SearchNotMatchFullWidth | 如果设置，在搜索期间忽略全角字符并将所有字符视为标准ASCII或标准宽度字符。

## 构造及析构函数说明

## ◆ TextSearch() [1/5]

foxit.pdf.TextSearch.TextSearch | ( | foxit.pdf.PDFDoc | document,
|  | SearchCancelCallback | cancel,
|  | int | flags
| ) |  |
| inline

对于PDF文档的构造函数。

用户可以设置有效的 SearchCancelCallback 对象，以便在触发 SearchCancelCallback中的回调函数时决定是否取消搜索过程。

参数

  [in] | document | 有效的PDF文档对象。
  [in] | cancel | SearchCancelCallback 对象，决定在触发回调函数时 是否需要取消搜索过程。这可以是 null，表示不取消搜索过程。 如果不是 null，应该是用户实现的有效 SearchCancelCallback 对象。默认值：null。
  [in] | flags | 搜索期间用于解析文本的解析标志。请参考从 foxit.pdf.TextPage.TextParseFlags.e_ParseTextNormal 开始的值，这可以是这些值中的一个或组合。 默认值：foxit.pdf.TextPage.TextParseFlags.e_ParseTextNormal 。

## ◆ TextSearch() [2/5]

foxit.pdf.TextSearch.TextSearch | ( | foxit.addon.xfa.XFADoc | xfa_document,
|  | SearchCancelCallback | cancel
| ) |  |
| inline

对于指定XFA文档的构造函数。

参数

  [in] | xfa_document | 有效的XFA文档对象。它应该已经通过 函数 addon.xfa.XFADoc.StartLoad 加载。
  [in] | cancel | SearchCancelCallback 对象，决定在触发回调函数时 是否需要取消搜索过程。这可以是 null， 表示不取消搜索过程。如果不是 null， 应该是用户实现的有效 SearchCancelCallback 对象。 默认值：null。

## ◆ TextSearch() [3/5]

foxit.pdf.TextSearch.TextSearch | ( | TextPage | text_page | ) |
| inline

对于指定文本页面的构造函数。

参数

  [in] | text_page | 文本页面对象。

## ◆ TextSearch() [4/5]

foxit.pdf.TextSearch.TextSearch | ( | Annot | annot | ) |
| inline

对于指定PDF注释的构造函数。

目前，仅支持在以下注释类型的外观中搜索： 自由文本注释、印章注释、小部件注释和线条注释。

参数

  [in] | annot | 有效的注释对象。

## ◆ TextSearch() [5/5]

foxit.pdf.TextSearch.TextSearch | ( | TextSearch | other | ) |
| inline

用另一个文本搜索对象的构造函数。

参数

  [in] | other | 另一个文本搜索对象。

## 成员函数说明

## ◆ FindNext()

bool foxit.pdf.TextSearch.FindNext | ( |  | ) |
| inline

搜索下一个匹配的模式。

返回
  true 表示找到下一个匹配，false 表示找不到下一个匹配或 发生其他错误。

## ◆ FindPrev()

bool foxit.pdf.TextSearch.FindPrev | ( |  | ) |
| inline

搜索上一个匹配的模式。

返回
  true 表示找到上一个匹配，false 表示找不到上一个匹配或 发生其他错误。

## ◆ GetMatchEndCharIndex()

int foxit.pdf.TextSearch.GetMatchEndCharIndex | ( |  | ) |
| inline

基于当前匹配页面，获取当前匹配模式最后一个字符的索引。

返回
  当前匹配页面中最后一个字符的索引，从0开始。 -1表示未找到匹配的句子。

## ◆ GetMatchPageIndex()

int foxit.pdf.TextSearch.GetMatchPageIndex | ( |  | ) |
| inline

获取当前匹配所属的页面索引。

此函数只能用于PDF文档或XFA文档中的文本搜索。

返回
  包含当前匹配的页面索引，从0开始。 -1表示未找到匹配的模式。

## ◆ GetMatchRects()

RectFArray foxit.pdf.TextSearch.GetMatchRects | ( |  | ) |
| inline

获取当前匹配模式的矩形。

返回
  矩形数组。

## ◆ GetMatchSentence()

string foxit.pdf.TextSearch.GetMatchSentence | ( |  | ) |
| inline

获取包含当前匹配模式的句子。

返回
  包含当前匹配的句子内容。

## ◆ GetMatchSentenceEndIndex()

int foxit.pdf.TextSearch.GetMatchSentenceEndIndex | ( |  | ) |
| inline

基于匹配句子，获取当前匹配模式最后一个字符的索引。

在一个句子中，可能有超过2个匹配模式。此函数与函数 一起， 可以帮助确认句子中的哪个模式就是当前匹配的模式。

返回
  基于匹配句子的当前匹配模式最后一个字符的索引，从0开始。 -1表示未找到匹配的句子。

## ◆ GetMatchSentenceStartIndex()

int foxit.pdf.TextSearch.GetMatchSentenceStartIndex | ( |  | ) |
| inline

基于匹配句子，获取当前匹配模式第一个字符的索引。

在一个句子中，可能有超过2个匹配模式。此函数与函数 一起， 可以帮助确认句子中的哪个模式就是当前匹配的模式。

返回
  基于匹配句子的当前匹配模式第一个字符的索引，从0开始。 -1表示未找到匹配的句子。

## ◆ GetMatchStartCharIndex()

int foxit.pdf.TextSearch.GetMatchStartCharIndex | ( |  | ) |
| inline

基于当前匹配页面，获取当前匹配模式第一个字符的索引。

返回
  当前匹配页面中第一个字符的索引，从0开始。 -1表示未找到匹配的句子。

## ◆ IsEmpty()

bool foxit.pdf.TextSearch.IsEmpty | ( |  | ) |
| inline

检查当前对象是否为空。

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

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

## ◆ SetEndPage()

bool foxit.pdf.TextSearch.SetEndPage | ( | int | page_index | ) |
| inline

设置结束页面索引。

此函数只能用于使用 PDFDoc 对象或 foxit.addon.xfa.XFADoc 对象 构造的文本搜索对象。对于其他情况，此函数将抛出异常 foxit.common.ErrorCode.e_ErrUnsupported 。
如果不调用此函数，默认值count-1将用作结束页面索引。

参数

  [in] | page_index | 搜索结束的页面索引。 有效范围：从0到(count-1)。count 由函数 PDFDoc.GetPageCount （对于PDF文档）或函数 addon.xfa.XFADoc.GetPageCount （对于XFA文档）返回。

返回
  true 表示成功，false 表示失败。

## ◆ SetPattern()

bool foxit.pdf.TextSearch.SetPattern | ( | string | key_words,
|  | bool | is_regex_search
| ) |  |
| inline

设置要搜索的关键词。

参数

  [in] | key_words | 要搜索的文本内容。它不应是空字符串。
  [in] | is_regex_search | true 表示启用正则表达式搜索，false 表示不启用。 如果启用正则表达式搜索，函数 TextSearch.SetSearchFlags 设置的搜索标志将被忽略。默认值：false。

返回
  true 表示成功，false 表示失败。

## ◆ SetSearchFlags()

bool foxit.pdf.TextSearch.SetSearchFlags | ( | int | search_flags | ) |
| inline

设置搜索标志。

如果不调用此函数，将使用默认值 foxit.pdf.TextSearch.SearchFlags.e_SearchNormal 。

参数

  [in] | search_flags | 搜索标志。请参考从 foxit.pdf.TextSearch.SearchFlags.e_SearchNormal 开始的值， 这可以是这些值中的一个或组合。

返回
  true 表示成功，false 表示失败。

## ◆ SetStartCharacter()

bool foxit.pdf.TextSearch.SetStartCharacter | ( | int | char_index | ) |
| inline

设置起始字符索引，搜索过程从该位置开始。

此函数只能用于使用 TextPage 对象或 PDFDoc 对象 构造的文本搜索对象。对于其他情况，此函数将抛出异常 foxit.common.ErrorCode.e_ErrUnsupported 。
如果不为新构造的文本搜索对象调用此函数， 将使用默认值作为起始字符索引：

- 对于由函数 TextSearch.FindNext 开始的第一次搜索， 将使用0作为起始字符索引。

- 对于由函数 TextSearch.FindPrev 开始的第一次搜索， 将使用(count-1)作为起始字符索引。

参数

  [in] | char_index | 搜索过程开始的起始字符索引。 有效范围：从0到(count-1)。count 表示搜索过程起始页面中的字符数量。

返回
  true 表示成功，false 表示失败。

## ◆ SetStartPage()

bool foxit.pdf.TextSearch.SetStartPage | ( | int | page_index | ) |
| inline

设置起始页面索引。

此函数只能用于使用 PDFDoc 对象或 foxit.addon.xfa.XFADoc 对象 构造的文本搜索对象。对于其他情况，此函数将抛出异常 foxit.common.ErrorCode.e_ErrUnsupported 。
如果不调用此函数，默认值0将用作起始页面索引。

参数

  [in] | page_index | 搜索开始的页面索引。 有效范围：从0到(count-1)。count 由函数 PDFDoc.GetPageCount （对于PDF文档）或函数 addon.xfa.XFADoc.GetPageCount （对于XFA文档）返回。

返回
  true 表示成功，false 表示失败。