iOS vfr阅读器框架无法使用下载的pdf
我找到了vfr阅读器框架,同时寻找一些更好的替代方案,以便在应用程序中显示pdf。在我的上下文中,我需要下载一个pdf;它尚未包含在应用程序包中。将vfr框架与嵌入式pdf一起使用很容易,但到目前为止,我一直很难让它与下载的数据一起工作,我将这些数据写入文件,然后使用其路径初始化ReaderDocument。我能够将同一个文件加载到UIWebView中没有问题,所以我不相信这是数据。代码如下:iOS vfr阅读器框架无法使用下载的pdf,ios,vfr-reader,Ios,Vfr Reader,我找到了vfr阅读器框架,同时寻找一些更好的替代方案,以便在应用程序中显示pdf。在我的上下文中,我需要下载一个pdf;它尚未包含在应用程序包中。将vfr框架与嵌入式pdf一起使用很容易,但到目前为止,我一直很难让它与下载的数据一起工作,我将这些数据写入文件,然后使用其路径初始化ReaderDocument。我能够将同一个文件加载到UIWebView中没有问题,所以我不相信这是数据。代码如下: NSString *fullPathToPDF = [[[self appDelegate] urlF
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;同一类):
无法创建CGPDFDocumentRef。我之前提到了传递完整路径和只传递文件名之间的区别,这是因为在查看代码时,ReaderDocument类似乎对它希望在哪里找到文件做出了一些假设。无论我将文件保存到何处,或者传入的内容是什么,我都无法使用DocumentFilePath方法使其工作
重申一下,我可以使用完全相同的文件并在UIWebView中打开它,这没问题
那么,有没有人有同样的问题,或者,能够成功地完成我的尝试?谢谢 很抱歉这么晚才回答。我自己也遇到了这个问题,所以我想我应该把我的智慧传给别人 我猜您正在将PDF下载到临时目录。此框架正在NSDocumentDirectory中查找文件。因此,当您要保存下载的文件时,只需保存到如下路径:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *baseDocumentPath = [paths objectAtIndex:0];
NSString *filePath = [baseDocumentPath stringByAppendingPathComponent:@"/temp.pdf"];
一旦您这样做,它将正确加载
p、 s如果我最终修改ReaderDocument以允许使用临时目录,我将在此处发布编辑。很抱歉这么晚才回答这个问题。我自己也遇到了这个问题,所以我想我应该把我的智慧传给别人 我猜您正在将PDF下载到临时目录。此框架正在NSDocumentDirectory中查找文件。因此,当您要保存下载的文件时,只需保存到如下路径:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *baseDocumentPath = [paths objectAtIndex:0];
NSString *filePath = [baseDocumentPath stringByAppendingPathComponent:@"/temp.pdf"];
一旦您这样做,它将正确加载
p、 s如果我最终修改ReaderDocument以允许使用临时目录,我将在此处发布编辑。谢谢您的回答,Henry。正如预期的那样,我认为您的想法是修改ReaderDocument,使其接受绝对路径,并在存在时使用它,除了假定在NSDoc下的现有路径之外。。。这是个好主意。再次感谢。谢谢你的回答,亨利。正如预期的那样,我认为您的想法是修改ReaderDocument,使其接受绝对路径,并在存在时使用它,除了假定在NSDoc下的现有路径之外。。。这是个好主意。再次感谢。