我有一个PDF文件,我从服务器下载,有时用户上传损坏的PDF,我需要检查我的应用程序是否可以打开这样的文件。如何检查iOS中损坏的PDF?
那么有没有一种内置的方式可以用来检查PDF损坏?如果不是有免费的轻量级PDF框架,我可以用来查看或检查损坏?
注:目前我在UIWebView上打开PDF文件。
我有一个PDF文件,我从服务器下载,有时用户上传损坏的PDF,我需要检查我的应用程序是否可以打开这样的文件。如何检查iOS中损坏的PDF?
那么有没有一种内置的方式可以用来检查PDF损坏?如果不是有免费的轻量级PDF框架,我可以用来查看或检查损坏?
注:目前我在UIWebView上打开PDF文件。
我找到了使用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);
感谢这帮了我 – kevinl
这是不是在所有的工作:(是否有任何替代方法来检查是否损坏或不? –
损坏如何?竞争垃圾还是只有某些缺陷的细节? – mkl
嗯,我不确定文件的哪个部分已损坏。当我试图用PDF阅读器打开它时(例如Adobe Reader),我知道它已损坏。 在我的情况下,我只在打开该文件时看到一个白页,所以我想通知用户文件已损坏,就像正常的PDF阅读器一样。 –