Foxit PDF SDK

Public 成员函数 | 静态 Public 属性 | 所有成员列表
com.foxit.sdk.pdf.TextSearch类 参考
类 com.foxit.sdk.pdf.TextSearch 继承关系图:

## Public 成员函数
| TextSearch (PDFDoc document, SearchCancelCallback cancel, int flags) throws com.foxit.sdk.PDFException
| 对于PDF文档的构造函数。 更多...
| TextSearch (XFADoc xfa_document, SearchCancelCallback cancel) throws com.foxit.sdk.PDFException
| 对于指定XFA文档的构造函数。 更多...
| TextSearch (TextPage text_page) throws com.foxit.sdk.PDFException
| 对于指定文本页面的构造函数。 更多...
| TextSearch (Annot annot) throws com.foxit.sdk.PDFException
| 对于指定PDF注释的构造函数。 更多...
| TextSearch (TextSearch other)
| 用另一个文本搜索对象的构造函数。 更多...
synchronized void | delete ()
| 直接清除C++相关资源。 更多...
boolean | findNext () throws com.foxit.sdk.PDFException
| 搜索下一个匹配的模式。 更多...
boolean | findPrev () throws com.foxit.sdk.PDFException
| 搜索上一个匹配的模式。 更多...
int | getMatchEndCharIndex () throws com.foxit.sdk.PDFException
| 基于当前匹配页面，获取当前匹配模式最后一个字符的索引。 更多...
int | getMatchPageIndex () throws com.foxit.sdk.PDFException
| 获取当前匹配所属的页面索引。 更多...
RectFArray | getMatchRects () throws com.foxit.sdk.PDFException
| 获取当前匹配模式的矩形。 更多...
String | getMatchSentence () throws com.foxit.sdk.PDFException
| 获取包含当前匹配模式的句子。 更多...
int | getMatchSentenceEndIndex () throws com.foxit.sdk.PDFException
| 基于匹配句子，获取当前匹配模式最后一个字符的索引。 更多...
int | getMatchSentenceStartIndex () throws com.foxit.sdk.PDFException
| 基于匹配句子，获取当前匹配模式第一个字符的索引。 更多...
int | getMatchStartCharIndex () throws com.foxit.sdk.PDFException
| 基于当前匹配页面，获取当前匹配模式第一个字符的索引。 更多...
boolean | isEmpty ()
| 检查当前对象是否为空。 更多...
boolean | setEndPage (int page_index) throws com.foxit.sdk.PDFException
| 设置结束页面索引。 更多...
boolean | setPattern (String key_words, boolean is_regex_search) throws com.foxit.sdk.PDFException
| 设置要搜索的关键词。 更多...
boolean | setSearchFlags (int search_flags) throws com.foxit.sdk.PDFException
| 设置搜索标志。 更多...
boolean | setStartCharacter (int char_index) throws com.foxit.sdk.PDFException
| 设置起始字符索引，搜索过程从该位置开始。 更多...
boolean | setStartPage (int page_index) throws com.foxit.sdk.PDFException
| 设置起始页面索引。 更多...
Public 成员函数 继承自 com.foxit.sdk.common.Base
synchronized void | delete ()
| 直接清除C++相关资源。 更多...

## 静态 Public 属性
static final int | e_SearchConsecutive = 0x04
| 如果设置，搜索时连续匹配关键字。例如，"CC"在"CCC"中将被匹配两次。
static final int | e_SearchMatchCase = 0x01
| 如果设置，搜索时匹配关键字的大小写。
static final int | e_SearchMatchWholeWord = 0x02
| 如果设置，搜索时匹配关键字的完整单词。
static final int | e_SearchNormal = 0x00
| 无特殊搜索选项。
static final int | e_SearchNotMatchFullWidth = 0x20
| 如果设置，在搜索期间忽略全角字符并将所有字符视为标准ASCII或标准宽度字符。

## 详细描述

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

- 要指定搜索模式和选项，请使用函数 TextSearch.setPattern 、 TextSearch.setStartPage 、TextSearch.setEndPage 和 TextSearch.setSearchFlags 。

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

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

## 构造及析构函数说明

## ◆ TextSearch() [1/5]

com.foxit.sdk.pdf.TextSearch.TextSearch | ( | PDFDoc | document,
|  | SearchCancelCallback | cancel,
|  | int | flags
| ) |  | throws com.foxit.sdk.PDFException

对于PDF文档的构造函数。

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

参数

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

## ◆ TextSearch() [2/5]

com.foxit.sdk.pdf.TextSearch.TextSearch | ( | XFADoc | xfa_document,
|  | SearchCancelCallback | cancel
| ) |  | throws com.foxit.sdk.PDFException

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

参数

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

## ◆ TextSearch() [3/5]

com.foxit.sdk.pdf.TextSearch.TextSearch | ( | TextPage | text_page | ) | throws com.foxit.sdk.PDFException

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

参数

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

## ◆ TextSearch() [4/5]

com.foxit.sdk.pdf.TextSearch.TextSearch | ( | Annot | annot | ) | throws com.foxit.sdk.PDFException

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

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

参数

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

## ◆ TextSearch() [5/5]

com.foxit.sdk.pdf.TextSearch.TextSearch | ( | TextSearch | other | ) |

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

参数

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

## 成员函数说明

## ◆ delete()

synchronized void com.foxit.sdk.pdf.TextSearch.delete | ( |  | ) |

直接清除C++相关资源。

返回
  无。

注解
  一旦这个接口被调用，这个对象将不能再被使用。

## ◆ findNext()

boolean com.foxit.sdk.pdf.TextSearch.findNext | ( |  | ) | throws com.foxit.sdk.PDFException

搜索下一个匹配的模式。

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

## ◆ findPrev()

boolean com.foxit.sdk.pdf.TextSearch.findPrev | ( |  | ) | throws com.foxit.sdk.PDFException

搜索上一个匹配的模式。

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

## ◆ getMatchEndCharIndex()

int com.foxit.sdk.pdf.TextSearch.getMatchEndCharIndex | ( |  | ) | throws com.foxit.sdk.PDFException

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

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

## ◆ getMatchPageIndex()

int com.foxit.sdk.pdf.TextSearch.getMatchPageIndex | ( |  | ) | throws com.foxit.sdk.PDFException

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

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

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

## ◆ getMatchRects()

RectFArray com.foxit.sdk.pdf.TextSearch.getMatchRects | ( |  | ) | throws com.foxit.sdk.PDFException

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

返回
  矩形数组。

## ◆ getMatchSentence()

String com.foxit.sdk.pdf.TextSearch.getMatchSentence | ( |  | ) | throws com.foxit.sdk.PDFException

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

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

## ◆ getMatchSentenceEndIndex()

int com.foxit.sdk.pdf.TextSearch.getMatchSentenceEndIndex | ( |  | ) | throws com.foxit.sdk.PDFException

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

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

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

## ◆ getMatchSentenceStartIndex()

int com.foxit.sdk.pdf.TextSearch.getMatchSentenceStartIndex | ( |  | ) | throws com.foxit.sdk.PDFException

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

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

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

## ◆ getMatchStartCharIndex()

int com.foxit.sdk.pdf.TextSearch.getMatchStartCharIndex | ( |  | ) | throws com.foxit.sdk.PDFException

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

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

## ◆ isEmpty()

boolean com.foxit.sdk.pdf.TextSearch.isEmpty | ( |  | ) |

检查当前对象是否为空。

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

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

## ◆ setEndPage()

boolean com.foxit.sdk.pdf.TextSearch.setEndPage | ( | int | page_index | ) | throws com.foxit.sdk.PDFException

设置结束页面索引。

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

参数

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

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

## ◆ setPattern()

boolean com.foxit.sdk.pdf.TextSearch.setPattern | ( | String | key_words,
|  | boolean | is_regex_search
| ) |  | throws com.foxit.sdk.PDFException

设置要搜索的关键词。

参数

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

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

## ◆ setSearchFlags()

boolean com.foxit.sdk.pdf.TextSearch.setSearchFlags | ( | int | search_flags | ) | throws com.foxit.sdk.PDFException

设置搜索标志。

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

参数

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

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

## ◆ setStartCharacter()

boolean com.foxit.sdk.pdf.TextSearch.setStartCharacter | ( | int | char_index | ) | throws com.foxit.sdk.PDFException

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

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

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

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

参数

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

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

## ◆ setStartPage()

boolean com.foxit.sdk.pdf.TextSearch.setStartPage | ( | int | page_index | ) | throws com.foxit.sdk.PDFException

设置起始页面索引。

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

参数

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

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