CGImageSourceCreateImageAtIndex返回nil
我想一个PDF文件转换为图像与此解决方案:CGImageSourceCreateImageAtIndex返回nil
CFURLRef urlRef = (CFURLRef)[NSURL fileURLWithPath:@"http://uat.okitoo.fr/document/document/s595_506cb1811852f/o_specimen-page-seule.pdf"];
CGImageSourceRef src = CGImageSourceCreateWithURL(urlRef, NULL);
NSDictionary* options = [NSDictionary dictionaryWithObject:(id)[NSNumber numberWithInt:500] forKey:(id)kCGImageSourceThumbnailMaxPixelSize];
CGImageRef firstPage = CGImageSourceCreateImageAtIndex(src, 0, (CFDictionaryRef)options);
UIImage* imagePDF = [UIImage imageWithCGImage:firstPage];
CGImageRelease(firstPage);
我的pdf文件就可以了,但是当我尝试此代码,图像不会出现,我有此消息:“:ImageIO:CGImageSourceCreateImageAtIndex图像源参数为零”。我不明白..
我试着用其他的联系,但我也有同样的问题..
任何想法? 有没有其他方法可以将我的PDF文件转换为图像?
非常感谢!
您正在使用不正确的API来创建URL,你需要URLWithString:
CFURLRef urlRef = (CFURLRef)[NSURL URLWithString:@"http://uat.okitoo.fr/document/document/s595_506cb1811852f/o_specimen-page-seule.pdf"];
您当前使用的API是网址,以文件的本地文件系统上。
正如消息所述,您的urlRef
可能是nil
。
可能是因为您没有提到真正的完整路径而只是文件名,而且找不到文件。
如果您的PDF是应用程序包内的文件,请使用[[NSBundle mainBundle] pathForResource:@"test" ofType:@"pdf"]
。如果您在运行时将其下载到沙盒中的某个位置,只需使用下载到的PDF路径即可。
我的pdf文件并不是真正的“test.pdf”,我只是写了这个例子。我用正确的道路纠正它。 –
你也可以看到链接发送给你一个好的pdf文件的URL,那么问题在哪里? –
问题是,我不能猜到你没有在你的问题中显示你真实的代码,而必须假设你使用了实际的路径并测试了URL。你应该解释一下,你试图在你的问题中修复代码,我们无法猜测它。 – AliSoftware
你让我的一天!什么是初学者的错误!非常感谢:) –
Sebastien你现在明白了为什么我们需要你问题中的真实代码来帮助你,并且不能解决你原来的问题...... – AliSoftware