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

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() [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]cancelSearchCancelCallback 对象,决定在触发回调函数时 是否需要取消搜索过程。这可以是 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]cancelSearchCancelCallback 对象,决定在触发回调函数时 是否需要取消搜索过程。这可以是 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_searchtrue 表示启用正则表达式搜索,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 表示失败。