我找到了如何在你把数据写入磁盘时添加密码,
pdfDocument.write(to: encryptedFileURL, withOptions: [PDFDocumentWriteOption.userPasswordOption : "pwd",
PDFDocumentWriteOption.ownerPasswordOption : "pwd"])
但在我的例子中,我生成PDF文件的方式不同。我是从数据中生成的,直接在MailComposer中转换并发送,如下所示:
if let pdfData = printPageRenderer.drawPDFUsingPrintPageRenderer(printPageRenderer: printPageRenderer) {
mailComposer.addAttachmentData(pdfData as Data, mimeType: "application/pdf", fileName: "PDF")
}
但是,如果我不在FileManager上保存文件,并且不使用PDFKit,我就找不到如何向PDF文件添加密码的方法。
有什么选择吗?很高兴知道这一点。任何提示或帮助都是感激的!
提前谢谢!
最佳答案
我假设您在iOS中使用uigraphicsdpfrenderer来获取PDF数据。
初始化uigraphicsdpfrenderer时,可能必须提供uigraphicsdpfrenderer格式。
在这个uigraphicsdpfrendereformat中,您可以设置format.documentInfo。
此文档信息具有
const CFStringRef kCGPDFContextUserPassword
const CFStringRef kCGPDFContextOwnerPassword;
希望你能得到你喜欢的东西。
关于ios - 可以在Swift中为生成的PDF添加密码吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53014357/