0

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

我知道所有者密码并想使用 PDFKit 来确认文档何时被解密。

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

unlockWithPassword 方法似乎不会改变我试图用来确认解密的 isEncrpyted 方法的状态。

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

我是否以正确的方式进行此操作,还是应该使用不同的方法来解密 pdf 文件。

4

1 回答 1

2

解锁 PDF 后,您需要使用以下命令将其写回文件:

writeToFile:withOptions:

或者

writeToURL:withOptions:

选项是NSDictionary.

据苹果称:The most commonly-used options are kCGPDFContextOwnerPassword, kCGPDFContextUserPassword, kCGPDFContextAllowsCopying and kCGPDFContextAllowsPrinting.

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

于 2009-12-09T20:03:33.207 回答