2011-08-05 26 views
1

我見過2種方法來做到這一點,這是通過UIWebView和使用Quartz框架來繪製PDF頁面。我聽說使用UIWebView的緩慢問題,並沒有使用後一種方法那麼靈活。編碼一個iOS PDF閱讀器

作爲新手iOS程序員, 1)我應該先學什麼主題(在繼續學習Quartz PDF支持之前哪些框架/控件/庫)?

2)有沒有什麼新的Xcode的iOS5 /最新測試版相關?

任何建議和/或樣品可用真的會有所幫助。

回答

2

儘管蘋果在其主題演講中提到了「更好的PDF支持」,但iOS4和新版本之間並沒有明顯的區別。可能是因爲他們改進了內部的PDF解析,但這純粹是我的猜測。

使用UIWebView for pdfs並不是那麼棒。 Apple在iOS4中推出了QuickLook,與webview相比,它更快更清晰。

如果你想獲得更多的速度和更多的功能,你必須深入研究Quartz CGPDF *函數,並且正確和快速地獲得它是一個真正的PITA。特別是因爲有太多你甚至不知道的東西,例如PDF文件可以有旋轉信息,裁剪/媒體框等等。對於快速滾動,您還需要某種類型的UIScrollView,以重用其內部視圖以加快速度。

對於CATiledLayer(您需要允許快速縮放)非常小心 - 因爲那個工程是多線程的,並且真正喜歡在您的臉上崩潰,而您不會正確地結束渲染。 (必重要零出它的代表,甚至可能它的內容,但nilling出線程的內容等待並可阻止主視圖)。

如果你還是想自己做,蘋果的Zooming PDF Viewer Example是一個開始。雖然它不處理旋轉或作物/媒體框具有負值的情況 - 並且也沒有頁面滾動。

+0

更新:iOS5 PDF渲染引擎有一些改進。但主要是對錯誤渲染的文檔進行了錯誤修正,並更好地支持JPEG2000等更深奧的東西。 (我發現,而在我的pdf引擎上工作) – steipete

0

我想你應該試試fastpdfkit。這是一個很好的功能庫(縮略圖,文本搜索等等)。

您將在http://www.fastpdfkit.com/

注意找到它:我不緊fastpdfkit公司或網站。

+0

所有的答案似乎像廣告閱讀。你真的應該停止這樣做。 –

+0

對不起tu傷了你安德魯。這不是廣告,我不以任何方式fastpdf,我們只是讓他們開心的顧客。 –