2017-08-03 2 views
1

PDFファイルの形式が正しいかどうかを確認する方法があるかどうかを知りたい場合は、UIWebViewUIWebViewPDFが有効で、UIWebViewで開くことができるかどうかを確認する方法

PDFファイルを開くことができない場合は、このデリゲートコールバックを返すことになりますが、開かれるかどうかに基づいてこのPDFをUIWebViewに渡すことを決定します。私はNSFileManagerで試しましたが、これのための任意の固体APIを渡すことができませんでした。どのようにこれを達成することができますか?

public func webView(_ webView: UIWebView, didFailLoadWithError error: Error) 

注意してください:私はDocumentsディレクトリからこのPDFをロードしています。このPDFは、データのダウンロードが不完全なため無効です。

+0

場合PDFファイルを開くことができません - あなたのURLがpdfなどの有効なURLでないことを意味します。 –

+0

@ Anbu.Karthik - 更新された注釈をご覧ください。 – Abhinav

+0

これを一度ご覧くださいhttps://stackoverflow.com/questions/21856923/ios-check-if-webview-is-loaded-with-pdf-content-on-non-pdf-file-extension –

答えて

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); 
関連する問題