我在寻找在应用程序中显示 pdf 的更好替代方案时发现了 vfr 阅读器框架。在我的上下文中,我需要下载一个 pdf;它尚未包含在应用程序包中。将 vfr 框架与嵌入式 pdf 一起使用很容易,但到目前为止,我一直很难让它处理我写入文件的下载数据,然后用它的路径初始化 ReaderDocument。我能够将同一个文件加载到 UIWebView 中没问题,所以我不相信这是数据。这是代码:
NSString *fullPathToPDF = [[[self appDelegate] urlForFileUnderRecursiveDocWithName:self.pdfName andOptionallyStartingAtDirectory:[[self appDelegate] pathURLForImagesDirectory]] path];
ReaderDocument *pdfDoc = [ReaderDocument withDocumentFilePath:fullPathToPDF password:nil];
生成的 pdfDoc 要么为空,要么像上面那样传递完整路径时,会因 ReaderDocument 的第 229 行的断言而崩溃
NSAssert(NO, @"CGPDFDocumentRef == NULL");
因为(我在做一个合理的假设)这条线(217;同一个班级):
CGPDFDocumentRef thePDFDocRef = CGPDFDocumentCreateX(docURLRef, _password);
无法创建 CGPDFDocumentRef。我之前提到过传递完整路径与仅传递文件名之间的区别,这是因为在查看代码时,ReaderDocument 类似乎对它期望在哪里找到文件做出了一些假设。无论我将文件保存到哪里,或者传递给它的内容是 ...withDocumentFilePath 方法,我都无法让它工作。
重申一下,我可以使用完全相同的文件并在 UIWebView 中打开它没问题。
那么,任何人都有同样的问题,或者,能够成功地做我正在尝试的事情?谢谢。