如何以编程方式在macOS上加密PDF文件

时间:2019-02-13 14:20:42

标签: macos pdf encryption

我的软件使用内置的API(PDFKit)生成PDF文件。

我现在需要以编程方式从中创建一个受密码保护(通过加密)的PDF文件。 PDFKit似乎不支持。

我希望我可以使用AppleScript告诉Preview打开PDF,然后使用密码保存它,但是看来Preview的AppleScript词典没有为此提供选项。

我有什么选择?

1 个答案:

答案 0 :(得分:4)

如果您已经熟悉Apple的PDFKit API,那么对PDF进行加密非常容易。

为诸如kCGPDFContextOwnerPasswordkCGPDFContextAllowsCopying之类的项创建具有键/值的辅助词典。然后使用PDFDocument的{​​{1}}方法。

https://developer.apple.com/documentation/pdfkit/pdfdocument/1436053-writetofile?language=objc

这是将加密PDF的python脚本,但是将其转换为Swift或ObjC应该非常容易。该词典被命名为“ writeToFile:withOptions”。

在命令行上,提供PDF的文件名作为参数。您也可以在Automator的“运行Shell脚本”操作中使用它。

options