在iPhone中可以很方便的預覽文檔檔案,如:pdf、word等等,這篇文章將以PDF為例。介紹三種預覽PDF的方式,又分別從本地pdf文檔和網路上的pdf文檔進行對比。
預覽本地PDF文檔:
1、使用UIWebView控制項
UIWebView是iPhone開發中最常用的控制項之一,類似.net中的webBrowser控制項。使用它預覽PDF檔案相當的方便和簡單。
在UIWebView中預覽PDF文檔的關鍵代碼如下:
效果:
2、使用CLPreviewController
CLPreviewController是比較新的一個功能,它能快速預覽文檔,可以一邊載入一邊預覽,也就是說不需要將文檔全部載入到記憶體中。
使用CLPreviewController預覽pdf檔案,需要實現一個委託:QLPreviewControllerDataSource。關鍵代碼如下:
其中prevoewController返回預覽檔案的地址。
這種方式不僅快,而且還提供了一個在iphone中列印文檔的功能,如。
3、繪製pdf文檔
apple有個官方的例子是繪製pdf的。這種方式可以很方便的控制pdf的展現細節,但是效率不高。
預覽網路上的PDF文檔:
1、使用UIWebView去預覽網路上的PDF文檔,先是將要預覽的文檔下載iPhone記憶體中,然後預覽,對很大的pdf文檔,效率不高,使用者體驗也不好。
2、對於使用prevoewController,因為它是分步載入的,不會一次性載入所有的pdf文檔,使用者體驗還不錯,但是在4.0中多出了一個列印按鈕,一點擊這個列印按鈕,程式就掛了,真是杯具。
3、繪製的方式也是需要一次性載入到記憶體,繪製效率不高,對於大文檔,不應當使用這種方式。
網路大文檔預覽的解決方案:對於網路上的pdf文檔,比如:電子書(一些電子書是比較大的),建議先下載到本地,然後使用第二種方式去預覽。
總結:本文介紹了三種預覽pdf文檔的方式,對於非pdf文檔也是類似。由於本人接觸iPhone開發不長,寫的不對的地方,歡迎大家指正
本文代碼:http://files.cnblogs.com/zhuqil/PDFView.zip
作者:朱祁林