Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从文档目录加载PDF-iPhone_Iphone_Objective C_Core Graphics - Fatal编程技术网

从文档目录加载PDF-iPhone

从文档目录加载PDF-iPhone,iphone,objective-c,core-graphics,Iphone,Objective C,Core Graphics,我不想从resources文件夹加载PDF,而是想 从documents目录加载它。我一直在努力做到这一点 持续数天,但CGPDFDocumentRef始终返回NULL。这是我的 代码: 文件路径正确,我已经检查了模拟器文档 目录和文件肯定在那里。当我运行应用程序时 最后一个NSLog显示NULL,并显示一个空白的白色页面PDF。 你知道怎么了吗? 谢谢 好的,下一次试试。我希望这次会更有用:-/ 您确定此路径上存在该文件吗? 我创建了一个与您类似的测试用例。对于名为file 123.pdf的文

我不想从resources文件夹加载PDF,而是想 从documents目录加载它。我一直在努力做到这一点 持续数天,但CGPDFDocumentRef始终返回NULL。这是我的 代码:

文件路径正确,我已经检查了模拟器文档 目录和文件肯定在那里。当我运行应用程序时 最后一个NSLog显示NULL,并显示一个空白的白色页面PDF。 你知道怎么了吗?
谢谢

好的,下一次试试。我希望这次会更有用:-/

您确定此路径上存在该文件吗? 我创建了一个与您类似的测试用例。对于名为file 123.pdf的文件,这似乎是可行的。至少我可以阅读pdf的版本

我在您的代码示例之后添加了这个,以查看是否加载了pdf

NSLog(@"PDF: %@", pdf);
int majorVersion;
int minorVersion;
CGPDFDocumentGetVersion(pdf, &majorVersion, &minorVersion);
NSLog(@"%d %d", majorVersion, minorVersion);
这给了我以下控制台输出:

2010-10-08 13:01:40.246 test[3517:207] PATH: /var/mobile/Applications/E9CDCAC1-430D-488E-ABC3-33F40F6A06F4/Documents/file 123.pdf
2010-10-08 13:01:40.252 test[3517:207] URL: file://localhost/var/mobile/Applications/E9CDCAC1-430D-488E-ABC3-33F40F6A06F4/Documents/file%20123.pdf
2010-10-08 13:01:40.257 test[3517:207] PDF: <NSCFType: 0x139660>
2010-10-08 13:01:40.260 test[3517:207] 1 4

路径上必须有有效的pdf文件。

显而易见的答案是使用pdfURL in der DocumentCreate函数。最终的结局不知从何而来,甚至不清楚它是为了什么


pdf=CGPDFDocumentCreateWithURLpdfURL

您可能在该路径上没有PDF文件。CGPDFDocumentCreateWithURL中的“Create”表示CGPDFDocument对象;它不会在该URL上创建文档文件。只能为已存在的PDF文件创建CGPDFDocument对象


另外,正如我在您的另一个问题中提到的,我不明白您为什么要尝试从路径中删除“localhost/”。首先,它不太可能存在于URL中,更可能只出现在URL中,如果它确实出现在URL中,它应该出现在URL中,去掉它会导致路径错误。

假设pdf是CGPDFDocumentRef,我们将使用类似的代码。不过对我的有效。不明白您的失败原因。是什么让您认为“localhost/”将成为文件路径名的一部分,并且需要从中删除它?它通常只出现在URL中,但您尚未创建URL。
2010-10-08 13:01:40.246 test[3517:207] PATH: /var/mobile/Applications/E9CDCAC1-430D-488E-ABC3-33F40F6A06F4/Documents/file 123.pdf
2010-10-08 13:01:40.252 test[3517:207] URL: file://localhost/var/mobile/Applications/E9CDCAC1-430D-488E-ABC3-33F40F6A06F4/Documents/file%20123.pdf
2010-10-08 13:01:40.257 test[3517:207] PDF: <NSCFType: 0x139660>
2010-10-08 13:01:40.260 test[3517:207] 1 4
if (![[NSFileManager defaultManager] fileExistsAtPath:path])
    NSLog(@"File does not exist!");