2012-02-16 94 views
0

有沒有辦法只加載(大)PDF文件?因此,讓我們假設:不要加載完整的PDF文件,而只加載前5頁。將PDF部分加載到內存中

因爲我實際上正在處理大型PDF文件(30 - 50 MB),並且當我調用CGPDFRain保留整個文檔,因此完整的30-50 MB保留在內存中。

有人可以幫我嗎?沒有首先將完整的PDF加載到內存中,是否可以從PDF中提取單頁?

有人可以幫我解決這個問題嗎?

更新: 由於事實上,我的應用程序需要支持離線訪問,應該從本地存儲裝載PDF。

更新2:現在我嘗試了不同的策略,但應用程序仍在內存邊緣,因爲我一次性將我的PDF完全加載到內存中。但不知何故,應該可以支持大的PDF文件,不是嗎?

回答

1

我不知道CGPDFRetain是什麼,所以我可能完全關閉。 PDF的設計方式只需要它的一部分就可以正確渲染它。有一種叫做「網頁優化」的PDF,它的對象以特殊的方式排列。每個Web服務器都能夠發送文檔的一個字節範圍,並且這兩種機制允許部分加載PDF。

您應該詳細說明加載PDF的位置。

0

這不是這樣的。 CGPDFDocument POINTS指向你的磁盤空間,並有部分緩存在內存中,但從來沒有整個文檔。

CGPDFDocument存在一些問題,導致內存過於貪婪,但在這種情況下,只需銷燬並重新創建CGPDFDocument即可。否則,在CGPDFDocument分配了太多內存後,您的應用程序可能會崩潰。