【Foxit PDF SDK for Android】是否支持全文索引搜索?如果支持,如何搜索在我的移动设备上离线存储的 PDF 文件?

支持。

福昕RDK Android从 5.0 版本开始就支持全文索引搜索。

要使用此功能,请按照如下的步骤:

  1. a) 根据目录来创建一个文档来源,该目录为文档的搜索目录。

public DocumentsSource(String directory)

  1. b) 创建一个全文文本搜索对象,以及设置用于存储索引数据的数据库路径。

public FullTextSearch()

public void setDataBasePath(String pathOfDataBase)

  1. c) 开始索引文档来源中的 PDF 文档。

public Progressive startUpdateIndex(DocumentsSource source,PauseCallback pause, boolean reUpdate)

备注:您可以索引指定的PDF文件。例如,如果某个PDF文档的内容发生了更改,您可以使用以下的API对其重新进行索引:

public boolean updateIndexWithFilePath(java.lang.String filePath)

  1. d) 从索引数据源中搜索指定的内容。搜索的结果将通过指定的回调函数来返回给外部,每找到一个匹配结果,则调用一次回调函数。

public boolean searchOf(java.lang.String matchString,RankMode rankMode,

SearchCallback searchCallback)

备注:

  • Foxit PDF SDK for Android 提供的全文索引搜索将以递归的方式遍历整个目录,以便搜索目录下的文件和文件夹都会被索引。

  • 如果需要中止索引进程,可以将 pause 回调参数传递给 startUpdateIndex 接口。其回调函数 needToPauseNow 都会被调用,一旦完成一个 PDF 文档的索引。因此,调用者可以在回调函数 needToPauseNow 返回 "true" 时中止索引进程。

  • 索引数据库的位置由 setDataBasePath 接口设置。如果要清除索引数据库,请手动清

除。目前,不支持从索引函数中删除指定文件相关的索引内容。

  • searchOf 接口的每个搜索结果都由指定的回调返回到外部。一旦 searchOf 接口返回"true"或 "false",则表示搜索已完成。