Какао PDFKit разблокировка зашифрованных файлов - PullRequest
0 голосов
/ 05 декабря 2009

У меня есть документ PDF, в котором установлен пароль владельца, но нет пароля пользователя. Поэтому он зашифрован.

Я знаю пароль владельца и хочу использовать PDFKit для подтверждения того, когда документ был расшифрован.

Я использовал метод unlockWithPassword PDFDocument, который возвращает YES, когда файл разблокирован. Однако этот метод также возвращает yes, если файл был разблокирован паролем пользователя, а не паролем владельца.

Метод unlockWithPassword, по-видимому, не изменяет состояние метода isEncrpyted, который я пытался использовать для подтверждения расшифровки.

Я хочу расшифровать файл, чтобы использовать методы записи для записи нового файла без защиты. В настоящий момент вызов этого метода для объекта документа приводит к созданию файла нулевой длины. Я предполагаю, что это из-за шифрования.

Правильно ли я поступаю по этому поводу или я должен использовать другой метод для расшифровки файла PDF.

1 Ответ

1 голос
/ 09 декабря 2009

После того, как вы разблокируете PDF, вам нужно будет записать его обратно в файл, используя:

writeToFile:withOptions:

или

writeToURL:withOptions:

Варианты NSDictionary.

По данным Apple: The most commonly-used options are kCGPDFContextOwnerPassword, kCGPDFContextUserPassword, kCGPDFContextAllowsCopying and kCGPDFContextAllowsPrinting.

"Подробнее об этих параметрах см. Вспомогательные словарные ключи в CGPDFContext Reference, часть Quartz 2D Reference."

...