2009-12-05 4 views
0

J'ai un document PDF avec un mot de passe propriétaire défini mais pas de mot de passe utilisateur. Par conséquent, il est crypté.Cocoa PDFKit Déverrouiller des fichiers cryptés

Je connais le mot de passe du propriétaire et je souhaite utiliser PDFKit pour confirmer que le document a été déchiffré.

J'ai utilisé la méthode PDFDocument unlockWithPassword qui renvoie YES lorsque le fichier est déverrouillé. Toutefois, cette méthode renvoie également Oui lorsque le fichier a été déverrouillé par un mot de passe utilisateur et non par le mot de passe du propriétaire.

La méthode unlockWithPassword ne semble pas modifier l'état de la méthode isEncrpyted que j'ai essayé d'utiliser pour confirmer le déchiffrement.

Je veux décrypter le fichier afin que je puisse utiliser les méthodes d'écriture pour écrire un nouveau fichier sans sécurité. Au moment de l'appel de cette méthode sur l'objet document, un fichier de longueur zéro est créé. Je suppose que c'est à cause du cryptage.

Est-ce que je vais dans ce sens ou devrais-je utiliser une méthode différente pour décrypter le fichier pdf.

Répondre

0

Une fois que vous déverrouillez le PDF, vous devez écrire de nouveau à un fichier en utilisant:

writeToFile:withOptions: 

ou

writeToURL:withOptions: 

options étant un NSDictionary.

Selon Apple: The most commonly-used options are kCGPDFContextOwnerPassword, kCGPDFContextUserPassword, kCGPDFContextAllowsCopying and kCGPDFContextAllowsPrinting.

"Pour plus de détails sur ces options, consultez les auxiliaires clés des dictionnaires dans CGPDFContext Référence, partie de la référence Quartz 2D."

Questions connexes