2013-07-28 13 views
7

私はサーバからダウンロードしたPDFファイルを持っています。ユーザが破損したPDFをアップロードすることがあり、アプリケーションがそのようなファイルを開くことができるかどうかを確認する必要があります。iOSで破損したPDFを確認するにはどうすればよいですか?

PDFの破損をチェックするために組み込みの方法がありますか?そうでない場合は、破損を確認または確認するための無料の軽量PDFフレームワークがありますか?

注:現在、私はUIWebViewでPDFファイルを開きます。

+0

どのように壊れていますか?特定の欠陥のみを詳細に競争させるか? – mkl

+0

さて、ファイルのどの部分が壊れているのかわかりません。私はそれがPDFリーダー(例えばAdobe Readerなど)で開こうとしたときに破損していることを知っていました。 私の場合は、そのファイルを開くときに白いページしか表示されないので、通常のPDFリーダーのようにファイルが壊れていることをユーザーに知らせたいと思います。 –

答えて

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); 
+0

これは私を助けてくれてありがとう – kevinl

+0

これはまったく動作していません:(壊れているかどうかを確認する方法はありますか? –

関連する問題