我有一个PDF文件,我从服务器下载,有时用户上传损坏的PDF,我需要检查我的应用程序是否可以打开这样的文件。
那么我可以使用内置方法来检查PDF损坏吗?如果没有,我可以用来查看或检查损坏的免费轻量级PDF框架?
注意:目前我在UIWebView上打开PDF文件。
答案 0 :(得分:14)
我使用CoreGraphics PDF绘图API找到了解决方案。 感谢this answer。
NSString *path = [[NSBundle mainBundle] pathForResource:@"A_Corrupted_PDF" ofType:@"pdf"];
NSData *data = [[NSFileManager defaultManager] contentsAtPath:path];
CGDataProviderRef provider = CGDataProviderCreateWithCFData((__bridge CFDataRef)data);
CGPDFDocumentRef document = CGPDFDocumentCreateWithProvider(provider);
if (document == nil) {
NSLog(@"The PDF is corrupted");
}
CGDataProviderRelease(provider);
CGPDFDocumentRelease(document);