gpt4 book ai didi

iOS vfr 阅读器框架无法使用下载的 pdf

转载 作者:行者123 更新时间:2023-11-28 18:38:14 24 4
gpt4 key购买 nike

我在寻找在应用程序中显示 pdf 的一些更好的替代方案时发现了 vfr 阅读器框架。在我的上下文中,我需要下载 pdf;它尚未包含在应用程序包中。使用带有嵌入式 pdf 的 vfr 框架很容易,但到目前为止,我一直很困惑如何让它处理我写入文件的下载数据,然后用它的路径初始化一个 ReaderDocument。我可以毫无问题地将同一个文件加载到 UIWebView 中,所以我不相信这是数据。这是代码:

NSString *fullPathToPDF = [[[self appDelegate] urlForFileUnderRecursiveDocWithName:self.pdfName andOptionallyStartingAtDirectory:[[self appDelegate] pathURLForImagesDirectory]] path];
ReaderDocument *pdfDoc = [ReaderDocument withDocumentFilePath:fullPathToPDF password:nil];

生成的 pdfDoc 要么为 null,要么像上面那样将完整路径传递给它时,将因 ReaderDocument 第 229 行的断言而崩溃

NSAssert(NO, @"CGPDFDocumentRef == NULL");

因为(我在做一个合理的假设)这一行(217;同一个类(class)):

CGPDFDocumentRef thePDFDocRef = CGPDFDocumentCreateX(docURLRef, _password);

无法创建 CGPDFDocumentRef。我之前提到过将完整路径传递给它与只将文件名传递给它之间的区别,这是因为在查看代码时,ReaderDocument 类似乎对它希望在何处找到文件做出了一些假设。无论我将文件保存到哪里,或者我传递给它的...withDocumentFilePath 方法,我都无法让它工作。

重申一下,我可以使用完全相同的文件并在 UIWebView 中打开它,没问题。

那么,有人遇到同样的问题,或者能够成功完成我正在尝试的事情吗?谢谢。

最佳答案

很抱歉这么晚才回答这个问题。我自己刚刚遇到这个问题,所以我想我会传递我的智慧。

我猜您正在将 PDF 下载到临时目录。此框架正在 NSDocumentDirectory 中查找文件。所以当你去保存下载的文件时,只需保存到这样的路径:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *baseDocumentPath = [paths objectAtIndex:0];
NSString *filePath = [baseDocumentPath stringByAppendingPathComponent:@"/temp.pdf"];

完成后它将正确加载。

p.s 如果我最终修改 ReaderDocument 以允许临时目录,我将在此处发布编辑。

关于iOS vfr 阅读器框架无法使用下载的 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15346927/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com