移动版Safari如何处理pdf以便提供搜索功能?

时间:2013-08-01 17:05:20

标签: iphone ios search pdf uiwebview

我正在寻找一种在uiwebview中搜索和突出显示PDF的方法。我已经看过很多关于这个的话题,但它都是使用Core图形。据我所知,UIWebView将PDF渲染为图像。如果是这种情况,我想知道safari如何提供搜索和突出显示功能?

谢谢

1 个答案:

答案 0 :(得分:1)

据我所知,Safari(或更具体地说,Safari的PDF插件)使用名为Search Kit的Apple API。 NSHipster has an article on it here.

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

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

要突出显示文字,您可以

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

根据您的兴趣,请告诉我,我很乐意进一步解释。

编辑1:为了绘制文本并尽可能保持布局,我会考虑使用像pdf.js这样的东西。从那里,您可以使用像Rangy这样的javascript框架来处理实际的突出显示(特别是this sample code)。我为此目的使用了Rangy并且发现它非常有效。