我有一個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閱讀器一樣。 –