2010-02-04 15 views
5

Necesito ayuda para desbloquear documentos PDF encriptados.Problema Desbloqueo de contraseña Documentos PDF protegidos

He intentado lo siguiente sin éxito.

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

Me aseguré de que la contraseña sea correcta pero la función de desbloqueo aún devuelve False.

¿He olvidado algo? ¿¿Hay algo mal??

Saludos, Arun Thakkar.

Respuesta

9

Supongo que "theTextField" es un UITextField, y está accediendo a su propiedad de texto. El problema es que esa propiedad es un NSString (un objeto), pero necesita una cadena C simple para desbloquear el PDF.

debe hacerse lo siguiente:

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

De hecho, estaban tratando de desbloquear el PDF utilizando el puntero de la cadena, algo así como 0x4d38340, traducido a lo personajes son producidas por ASCII (o Unicode, no estoy seguro) valores 4d, 38 y 34 en este caso.

+1

Tnx marcus y Arun Thakkar, ambos me ayudaron a lograr mi tarea – Dinakar

Cuestiones relacionadas