2010-02-04 11 views
5

Potrzebuję pomocy w odblokowywaniu zaszyfrowanych dokumentów PDF.Problem Odblokowanie zabezpieczonych hasłem dokumentów PDF

Próbowałem następujących bez powodzenia.

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); 
} 

Upewniłem się, że hasło jest prawidłowe, ale funkcja odblokowania wciąż zwraca wartość False.

Zapomniałem o wszystkim? Czy coś jest nie tak??

Pozdrawiam, Arun Thakkar.

Odpowiedz

9

Zakładam, że "theTextField" jest UITextField i uzyskujesz dostęp do jego właściwości text. Problem polega na tym, że właściwość ta jest NSString (obiekt), ale potrzebny jest zwykły ciąg znaków C, aby odblokować plik PDF.

Czy to zamiast:

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

Byłaś rzeczywiście próbuje odblokować PDF za pomocą wskaźnika ciąg jest, coś jak 0x4d38340, tłumaczone na cokolwiek znaki są produkowane przez ASCII (lub Unicode, nie jestem pewien) wartości 4d, 38 i 34 w tym przypadku.

+1

Tnx marcus i Arun Thakkar, obaj pomogli mi osiągnąć moje zadanie – Dinakar

Powiązane problemy