我想知道是否有一种快速方法可以检查PDF文件的格式是否正确以及UIWebView
可以在将其提供给UIWebView
之前打开吗?
如果无法打开PDF文件,我最终会收到此委托回电,但我想根据它是否会打开来决定将此PDF传递给UIWebView
。我尝试使用NSFileManager
,但无法为此遇到任何可靠的API。知道如何实现这一目标吗?
public func webView(_ webView: UIWebView, didFailLoadWithError error: Error)
请注意:我正在从Documents目录加载此PDF。由于数据下载不完整,此PDF可能无效。
答案 0 :(得分:1)
可能是因为它无效/已损坏或无法打开其他内容,您可以尝试下面的代码行并检查它是否是有效的pdf文档并且可以打开它:
NSString *path = [[NSBundle mainBundle] pathForResource:@"example_PDF" ofType:@"pdf"];//Path of your 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");//Can't be opened
}
CGDataProviderRelease(provider);
CGPDFDocumentRelease(document);