我發現了vfr閱讀器框架,同時尋找一些更好的替代方法來在應用中顯示pdf。在我的情況下,我需要下載pdf;它不包含在應用程序包中。使用帶有嵌入式pdf的vfr框架非常簡單,但是我一直堅持使用我寫入文件的下載數據,然後使用它的路徑初始化ReaderDocument。我能夠將相同的文件加載到UIWebView沒有問題,所以我不相信這是數據。下面的代碼:iOS vfr閱讀器框架無法使用下載的pdf
NSString *fullPathToPDF = [[[self appDelegate] urlForFileUnderRecursiveDocWithName:self.pdfName andOptionallyStartingAtDirectory:[[self appDelegate] pathURLForImagesDirectory]] path];
ReaderDocument *pdfDoc = [ReaderDocument withDocumentFilePath:fullPathToPDF password:nil];
產生的pdfDoc要麼是空,或者路過的時候它像上面的完整路徑,將與斷言崩潰從線229 ReaderDocument
的NSAssert(NO, @"CGPDFDocumentRef == NULL");
,因爲(我(217;同一班級):
CGPDFDocumentRef thePDFDocRef = CGPDFDocumentCreateX(docURLRef, _password);
無法創建CGPDFDocumentRef。我之前提到了將完整路徑傳遞給它只是將它傳遞給文件名的區別,這是因爲在查看代碼時,ReaderDocument類似乎對它預期在哪裏找到文件做出了一些假設。無論我將文件保存到哪裏,或者通過DocumentFilePath方法傳遞給它,我都無法使它工作。
重申,我可以使用完全相同的文件,並在UIWebView中打開它沒有任何問題。
那麼,任何人有這個相同的問題,或者,能夠做我試圖成功?謝謝。
感謝您的回答,亨利。按照預期工作,並且我認爲您的想法是修改ReaderDocument,使其接受絕對路徑並在存在時使用它,除了假定現有路徑在NSDoc之下...是個好主意。再次感謝。 – wkhatch 2013-06-06 20:01:33