2009-12-05 19 views
0

我有一個PDF文檔,其中設置了所有者密碼但沒有用戶密碼。因此它被加密。Cocoa PDFKit解鎖加密文件

我知道所有者密碼,並且希望使用PDFKit來確認何時文檔已被解密。

我已經使用PDFDocument unlockWithPassword方法,該方法在解鎖文件時返回YES。但是,當文件已被用戶密碼解鎖而不是所有者密碼時,此方法也返回yes。

unlockWithPassword方法似乎不會改變我試圖用來確認解密的isEncrpyted方法的狀態。

我想decrpyt文件,以便我可以使用寫入方法寫入一個沒有安全性的新文件。此時在文檔對象上調用此方法會導致創建零長度文件。我認爲這是因爲加密。

我正在討論這個正確的方法,或者我應該使用不同的方法來解密pdf文件。

回答

0

一旦你解開PDF,你需要將它寫回使用文件:

writeToFile:withOptions: 

writeToURL:withOptions: 

選項作爲一個NSDictionary

據蘋果公司稱:The most commonly-used options are kCGPDFContextOwnerPassword, kCGPDFContextUserPassword, kCGPDFContextAllowsCopying and kCGPDFContextAllowsPrinting.

「有關這些選項的詳細信息,請參閱CGPDFContext參考,石英2D參考的一部分輔助字典鍵。」