2010-02-04 11 views
5

मुझे एन्क्रिप्टेड पीडीएफ दस्तावेज़ों को अनलॉक करने में मदद की ज़रूरत है।समस्या अनलॉकिंग पासवर्ड सुरक्षित पीडीएफ दस्तावेज़

मैंने बिना सफलता के निम्नलिखित प्रयास किए हैं।

CFURLRef pdfURL = CFURLCreateWithFileSystemPath (NULL, documentsDirectory, kCFURLPOSIXPathStyle, 0); //1 
pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL); 
BOOL encrypted = CGPDFDocumentIsEncrypted(pdf); 
if (encrypted) { 

// Try 1: 

    const char *str = (char *)theTextField.text; 
    BOOL _unlock = CGPDFDocumentUnlockWithPassword(pdf,str); 

//Try 2: 

    NSString *str1 = @"password"; 
    BOOL _unlock1 = CGPDFDocumentUnlockWithPassword(pdf,str1); 
} 

मैंने सुनिश्चित किया कि पासवर्ड सही है लेकिन अनलॉक फ़ंक्शन अभी भी गलत है।

मैं कुछ भूल गया हूँ? क्या कुछ गड़बड़ है??

सम्मान, अरुण ठक्कर।

उत्तर

9

मुझे लगता है कि "TheTextField" एक UITextField है, और आप इसकी टेक्स्ट प्रॉपर्टी एक्सेस कर रहे हैं। समस्या यह है कि वह संपत्ति एक एनएसएसटींग (एक वस्तु) है, लेकिन आपको पीडीएफ अनलॉक करने के लिए एक सादा सी स्ट्रिंग की आवश्यकता है। 0x4d38340 तरह

const char *key = [theTextField.text UTF8String]; 
BOOL success = CGPDFDocumentUnlockWithPassword(pdf, key); 

आप वास्तव में पीडीएफ स्ट्रिंग के सूचक का उपयोग कर अनलॉक करने के लिए कोशिश कर रहे थे, कुछ, जो कुछ भी वर्ण ASCII द्वारा उत्पादित कर रहे हैं में अनुवाद किया (या यूनिकोड, यकीन नहीं) 4d को महत्व देता है,:

बजाय यह करें इस मामले में 38 और 34।

+1

टीएनएक्स मार्कस और अरुण ठक्कर, दोनों ने मुझे अपना काम हासिल करने में मदद की – Dinakar

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