2010-02-04 25 views
5

Tôi cần trợ giúp mở khóa Tài liệu PDF được mã hóa.Sự cố khi mở khóa mật khẩu Tài liệu PDF được bảo vệ

Tôi đã thử những điều sau mà không thành công.

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

Tôi đảm bảo mật khẩu chính xác nhưng chức năng mở khóa vẫn trả về Sai.

Tôi đã quên gì? Có gì sai không ??

Kính trọng, Arun Thakkar.

Trả lời

9

tôi cho rằng "theTextField" là một UITextField, và bạn đang truy cập thuộc tính văn bản của nó. Vấn đề là thuộc tính đó là một NSString (một đối tượng), nhưng bạn cần một chuỗi C đơn giản để mở khóa tệp PDF.

Làm điều này thay vì:

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

Bạn đã thực sự cố gắng để mở khóa PDF sử dụng con trỏ của chuỗi, một cái gì đó giống như 0x4d38340, dịch sang bất cứ ký tự được sản xuất bởi ASCII (hoặc Unicode, không chắc chắn) đánh giá cao 4d, 38 và 34 trong trường hợp này.

+1

Tnx marcus và Arun Thakkar, cả hai đều giúp tôi đạt được nhiệm vụ của mình – Dinakar

Các vấn đề liên quan