Foxit PDF SDK

Public 成员函数 | 静态 Public 属性 | 所有成员列表
FSDK::TextSearch类 参考

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

## 静态 Public 属性
static | e_SearchConsecutive
| 如果设置，搜索时连续匹配关键字。例如，"CC" 将在 "CCC" 中匹配两次。
static | e_SearchMatchCase
| 如果设置，搜索时匹配关键字的大小写。
static | e_SearchMatchWholeWord
| 如果设置，搜索时匹配关键字的整个单词。
static | e_SearchNormal
| 搜索标志的枚举。 更多...
static | e_SearchNotMatchFullWidth
| 如果设置，忽略全角字符，并在搜索期间将所有字符视为标准 ASCII 或标准宽度字符。

## 详细描述

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

- 要指定搜索模式和选项，请使用函数 FSDK.TextSearch.SetPattern、 FSDK.TextSearch.SetStartPage、FSDK.TextSearch.SetEndPage 和 FSDK.TextSearch.SetSearchFlags。
- 要执行搜索，请使用函数 FSDK.TextSearch.FindNext 或 FSDK.TextSearch.FindPrev。
- 要获取搜索结果，请使用函数 GetMatchXXX()。

## 构造及析构函数说明

## ◆ TextSearch() [1/2]

FSDK::TextSearch::TextSearch | ( | text_page |  | ) |

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

参数

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

## ◆ TextSearch() [2/2]

FSDK::TextSearch::TextSearch | ( | annot |  | ) |

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

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

参数

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

## 成员函数说明

## ◆ constructor() [1/2]

FSDK::TextSearch::constructor | ( | document | ,
|  | cancel | ,
|  | flags |
| ) |  |

用于 PDF 文档的构造函数。

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

参数

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

## ◆ constructor() [2/2]

FSDK::TextSearch::constructor | ( | xfa_document | ,
|  | cancel |
| ) |  |

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

参数

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

## ◆ FindNext()

FSDK::TextSearch::FindNext | ( |  | ) |

搜索下一个匹配的模式。

返回
  true 表示找到下一个匹配项，而 false 表示找不到下一个匹配项或 任何其他错误。

## ◆ FindPrev()

FSDK::TextSearch::FindPrev | ( |  | ) |

搜索上一个匹配的模式。

返回
  true 表示找到上一个匹配项，而 false 表示找不到上一个匹配项或 任何其他错误。

## ◆ GetMatchEndCharIndex()

FSDK::TextSearch::GetMatchEndCharIndex | ( |  | ) |

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

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

## ◆ GetMatchPageIndex()

FSDK::TextSearch::GetMatchPageIndex | ( |  | ) |

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

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

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

## ◆ GetMatchRects()

FSDK::TextSearch::GetMatchRects | ( |  | ) |

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

返回
  矩形数组。

## ◆ GetMatchSentence()

FSDK::TextSearch::GetMatchSentence | ( |  | ) |

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

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

## ◆ GetMatchSentenceEndIndex()

FSDK::TextSearch::GetMatchSentenceEndIndex | ( |  | ) |

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

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

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

## ◆ GetMatchSentenceStartIndex()

FSDK::TextSearch::GetMatchSentenceStartIndex | ( |  | ) |

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

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

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

## ◆ GetMatchStartCharIndex()

FSDK::TextSearch::GetMatchStartCharIndex | ( |  | ) |

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

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

## ◆ IsEmpty()

FSDK::TextSearch::IsEmpty | ( |  | ) |

检查当前对象是否为空。

当当前对象为空时，表示当前对象无用。

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

## ◆ SetEndPage()

FSDK::TextSearch::SetEndPage | ( | page_index |  | ) |

设置结束页面索引。

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

参数

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

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

## ◆ SetPattern()

FSDK::TextSearch::SetPattern | ( | key_words | ,
|  | is_regex_search |
| ) |  |

设置要搜索的关键字。

参数

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

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

## ◆ SetSearchFlags()

FSDK::TextSearch::SetSearchFlags | ( | search_flags |  | ) |

设置搜索标志。

如果未调用此函数，将使用默认值 FSDK.TextSearch.e_SearchNormal。

参数

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

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

## ◆ SetStartCharacter()

FSDK::TextSearch::SetStartCharacter | ( | char_index |  | ) |

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

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

- 0 将用作通过函数 FSDK.TextSearch.FindNext 开始的第一次搜索的 起始字符索引。
- (count-1) 将用作通过函数 FSDK.TextSearch.FindPrev 进行的第一次搜索的起始字符索引。

参数

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

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

## ◆ SetStartPage()

FSDK::TextSearch::SetStartPage | ( | page_index |  | ) |

设置起始页面索引。

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

参数

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

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

## 类成员变量说明

## ◆ e_SearchNormal

FSDK::TextSearch::e_SearchNormal
| static

搜索标志的枚举。

此枚举的值可以单独使用或组合使用。无特殊搜索选项。