我有一个PDF文档,其中设置了所有者密码但没有用户密码。因此它是加密的。
我知道所有者密码,并希望使用PDFKit来确认文档何时被解密。
我使用了PDFDocument unlockWithPassword方法,该方法在文件解锁时返回YES。但是,当文件已被用户密码解锁而非所有者密码时,此方法也会返回yes。
unlockWithPassword方法似乎不会改变我试图用来确认解密的isEncrpyted方法的状态。
我想解压缩文件,以便我可以使用write方法编写一个没有安全性的新文件。目前,在文档对象上调用此方法会导致创建零长度文件。我认为这是因为加密。
我是以正确的方式进行此操作还是应该使用其他方法来解密pdf文件。
答案 0 :(得分:1)
解锁PDF后,您需要使用以下命令将其写回文件:
writeToFile:withOptions:
或
writeToURL:withOptions:
选项为NSDictionary
。
据Apple称:The most commonly-used options are kCGPDFContextOwnerPassword, kCGPDFContextUserPassword, kCGPDFContextAllowsCopying and kCGPDFContextAllowsPrinting.
“有关这些选项的更多详细信息,请参阅CGPDFContext参考中的辅助字典键,这是Quartz 2D Reference的一部分。”