2013-07-28 10 views
7

मेरे पास एक पीडीएफ फाइल है जिसे मैंने सर्वर से डाउनलोड किया है, कभी-कभी उपयोगकर्ता दूषित पीडीएफ अपलोड करते हैं और मुझे यह जांचने की ज़रूरत है कि मेरा एप्लिकेशन ऐसी फाइल खोल सकता है या नहीं।आईओएस में दूषित पीडीएफ की जांच कैसे करें?

तो क्या एक अंतर्निहित तरीका है जिसका उपयोग मैं पीडीएफ भ्रष्टाचार की जांच के लिए कर सकता हूं? यदि नहीं है तो क्या एक मुफ्त हल्के पीडीएफ ढांचे का उपयोग मैं भ्रष्टाचार को देखने या जांचने के लिए कर सकता हूं?

नोट: वर्तमान में मैं UIWebView पर पीडीएफ फाइलें खोल रहा हूं।

+0

दूषित कैसे? जंक या केवल कुछ दोषों को विस्तार से प्रतिस्पर्धा करें? – mkl

+0

अच्छा, मुझे यकीन नहीं है कि फ़ाइल का कौन सा हिस्सा दूषित है। मुझे पता था कि जब मैं इसे पीडीएफ रीडर (उदाहरण के लिए एडोब रीडर) के साथ खोलने की कोशिश करता हूं तो यह दूषित हो जाता है। मेरे मामले में मुझे केवल उस फ़ाइल को खोलते समय एक श्वेत पृष्ठ दिखाई देता है, इसलिए मैं उपयोगकर्ता को सूचित करना चाहता हूं कि फाइल सामान्य पीडीएफ रीडर की तरह दूषित हो जाएगी। –

उत्तर

14

मुझे कोरग्राफिक्स पीडीएफ ड्राइंग एपीआई का उपयोग करके समाधान मिला है। 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

में मदद की है यह बिल्कुल काम नहीं कर रहा है :(क्या यह जांचने का कोई वैकल्पिक तरीका है कि दूषित है या नहीं? –

संबंधित मुद्दे