2013-08-01 45 views
0

我正在尋找一種在uiwebview中搜索並突出顯示PDF的方法。我已經看到了很多有關這方面的主題,但都是使用Core圖形。據我所知,UIWebView將PDF作爲圖像呈現。如果是這樣,我想知道safari如何提供搜索和高亮功能?移動Safari瀏覽器如何處理pdf,以便提供搜索功能?

感謝

+0

UIWebView爲什麼不使用核心圖形? UIKit中的其他所有功能都是如此,正如你所提到的,它已經完成了核心圖形。 –

+0

好的,在應用程序中,我有一個文檔查看器,它在UIWebView內提供繪圖工具(用於顯示其他文檔類型)。因此,讓我們說,不是簡單地將我的pdf的URL提供給我的uiwebview,而是繪製它使用核心圖形,是否有可能在uiwebview中繪製它以保持我當前的繪圖系統的功能(主要是座標,導致它已經存在並且被用戶使用了幾個月,並且還同步到我們的web版本的平臺) ? –

+0

我不知道safari,但這裏是mozilla和圓頂應用程序的一個例子,將其與objective-c整合https://github.com/Jageen/PDFSearch – Jageen

回答

1

據我所知,Safari瀏覽器(或更具體地說,Safari的PDF插件)使用蘋果API名爲Search工具包。 NSHipster has an article on it here.

不幸的是,Search Kit尚未被移植到iOS。對於搜索算法,則有以下幾種選擇:

  • 使用S4LuceneLibrary爲PDF文本編制索引。
  • 按照WWDC 2010視頻「掌握核心數據」中的說明使用Core Data來索引和搜索文本。

爲了突出顯示文本,你可以

  • 使用核心文本重繪PDF文本。
  • 使用的UIWebView和HTML/CSS繪製文本(這也使得它很容易搜索到。我這個做我自己。)

根據你感興趣的內容,讓我知道,我會很高興進一步解釋。

編輯1:要繪製文本並儘可能保持佈局的完整,我會考慮使用類似pdf.js之類的東西。從那裏,您可以使用像Rangy這樣的JavaScript框架來照顧實際突出顯示(具體來說,就是this sample code)。我爲此目的使用了Rangy,並且發現它非常有效。

+0

非常感謝您的回答,我會看看在使用核心數據在我的PDF內進行搜索時,對於突出顯示結果的文本進行繪製,第二個選項似乎對我的情況最好,但該解決方案是否保持文件的格式,圖像和佈局完好?如果是這樣,是的,我想了解更多。 –

+1

我已經編輯了我的答案,詳細介紹了使用UIWebView可能需要的更多細節。 –

相關問題