Objective c Cocoa PDFKit解锁加密文件

Objective c Cocoa PDFKit解锁加密文件,objective-c,cocoa,macos,pdfkit,Objective C,Cocoa,Macos,Pdfkit,我有一个PDF文档,设置了所有者密码,但没有用户密码。因此它是加密的 我知道所有者密码,希望使用PDFKit确认文档何时被解密 我使用了PDFDocument unlockWithPassword方法,该方法在文件解锁时返回YES。但是,当文件已由用户密码而不是所有者密码解锁时,此方法也会返回yes unlockWithPassword方法似乎不会更改我尝试用于确认解密的IsEncrypted方法的状态 我想对文件进行解密,这样我就可以使用write方法编写一个没有安全性的新文件。此时,对文档对

我有一个PDF文档,设置了所有者密码,但没有用户密码。因此它是加密的

我知道所有者密码,希望使用PDFKit确认文档何时被解密

我使用了PDFDocument unlockWithPassword方法,该方法在文件解锁时返回YES。但是,当文件已由用户密码而不是所有者密码解锁时,此方法也会返回yes

unlockWithPassword方法似乎不会更改我尝试用于确认解密的IsEncrypted方法的状态

我想对文件进行解密,这样我就可以使用write方法编写一个没有安全性的新文件。此时,对文档对象调用此方法将导致创建一个零长度的文件。我想这是因为加密


我的做法是否正确,还是应该使用不同的方法解密pdf文件。

解锁pdf后,需要使用以下方法将其写回文件:

writeToFile:withOptions:

选项是一个
NSDictionary

根据苹果公司的说法:
最常用的选项是kCGPDFContextOwnerPassword、kCGPDFContextUserPassword、KCGPDFContextAllowsCopy和kCGPDFContextAllowsPrinting。

“有关这些选项的详细信息,请参阅Quartz 2D参考的一部分CGPDFContext参考中的辅助字典键。”

writeToURL:withOptions: