0

我正在寻找一种在 uiwebview 中搜索和突出显示 PDF 的方法。我已经看到了很多关于它的主题,但它们都使用核心图形。据我所知,UIWebView 将 PDF 呈现为图像。如果是这样,我想知道 safari 如何提供搜索和突出显示功能?

谢谢

4

1 回答 1

1

据我所知,Safari(或者,更具体地说,Safari 的 PDF 插件)使用称为 Search Kit 的 Apple API。NSHipster 在这里有一篇关于它的文章。

不幸的是,Search Kit 尚未移植到 iOS。那么,对于搜索算法,您有几个选择:

  • 使用S4LuceneLibrary索引您的 PDF 文本。
  • 使用 WWDC 2010 视频“掌握核心数据”中所述的核心数据来索引和搜索文本。

为了突出显示文本,您可以

  • 使用 Core Text 重绘 PDF 的文本。
  • 使用 UIWebView 和 HTML/CSS 来绘制文本(这也使它易于搜索。我自己做了这个。)

根据您的兴趣,让我知道,我很乐意进一步解释。

编辑 1:要绘制文本并尽可能保持布局简洁,我会考虑使用类似pdf.js的东西。从那里,您可以使用像Rangy这样的 javascript 框架来处理实际的突出显示(具体来说,这个示例代码)。我已经为此目的使用了 Rangy,并且发现它非常有效。

于 2013-08-01T18:10:11.083 回答