在 Node.js 中加密 PDF
Contents
[
Hide
]
使用用户密码或拥有者密码加密 PDF 文件
如果您要向某人发送包含机密信息的 PDF 附件的电子邮件,您可能希望先为其添加一些安全措施,以防止其落入不法之徒手中。限制对 PDF 文档的未授权访问的最佳方法是使用密码进行保护。要轻松且安全地加密文档,您可以使用 Aspose.PDF for Node.js via C++。
在加密 PDF 文件时,请指定不同的用户密码和拥有者密码。
- 如果已设置,用户密码 是打开 PDF 所需提供的密码。Acrobat/Reader 会提示用户输入用户密码。如果密码不正确,文档将无法打开。
- 如果已设置,所有者密码 控制权限,如打印、编辑、提取、注释等。Acrobat/Reader 将根据权限设置禁止这些操作。如果您想设置/更改权限,Acrobat 将需要此密码。
如果您想加密 PDF 文件,可以使用 AsposePdfEncrypt 函数。 如果您想加密 PDF 文件,请尝试以下代码片段:
CommonJS:
- 调用
require并导入asposepdfnodejs模块 作为AsposePdf变量。 - 指定将被加密的 PDF 文件名称。
- 调用
AsposePdf作为 Promise 并执行文件加密操作。如果成功,则接收对象。 - 调用 AsposePdfEncrypt 函数。
- 使用密码 “user” 和 “owner” 加密 PDF 文件。
- 因此,如果 ‘json.errorCode’ 为 0,则操作结果保存为 “ResultEncrypt.pdf”。如果 json.errorCode 参数不为 0,并且相应地在您的文件中出现错误,则错误信息将包含在 ‘json.errorText’ 中。
const AsposePdf = require('asposepdfnodejs');
const pdf_file = 'Aspose.pdf';
AsposePdf().then(AsposePdfModule => {
/*Encrypt a PDF-file with passwords "user" and "owner", and save the "ResultEncrypt.pdf"*/
const json = AsposePdfModule.AsposePdfEncrypt(pdf_file, "user", "owner", AsposePdfModule.Permissions.PrintDocument, AsposePdfModule.CryptoAlgorithm.RC4x40, "ResultEncrypt.pdf");
console.log("AsposePdfEncrypt => %O", json.errorCode == 0 ? json.fileNameResult : json.errorText);
});
有不同的 加密权限:
- Module.Permissions.PrintDocument
- Module.Permissions.ModifyContent
- Module.Permissions.ExtractContent
- Module.Permissions.ModifyTextAnnotations
- Module.Permissions.FillForm
- Module.Permissions.ExtractContentWithDisabilities
- Module.Permissions.AssembleDocument
- Module.Permissions.PrintingQuality
有各种 加密算法:
- Module.CryptoAlgorithm.RC4x40
- Module.CryptoAlgorithm.RC4x128
- Module.CryptoAlgorithm.AESx128
- Module.CryptoAlgorithm.AESx256
ECMAScript/ES6:
- 导入
asposepdfnodejs模块。 - 指定要更改加密的 PDF 文件的名称。
- 初始化 AsposePdf 模块。如果成功,则接收对象。
- 调用 AsposePdfEncrypt 函数。
- 使用密码 “user” 和 “owner” 加密 PDF 文件。
- 因此,如果 ‘json.errorCode’ 为 0,则操作结果保存为 “ResultEncrypt.pdf”。如果 json.errorCode 参数不为 0,并且相应地在您的文件中出现错误,则错误信息将包含在 ‘json.errorText’ 中。
import AsposePdf from 'asposepdfnodejs';
const AsposePdfModule = await AsposePdf();
const pdf_file = 'Aspose.pdf';
/*Encrypt a PDF-file with passwords "user" and "owner", and save the "ResultEncrypt.pdf"*/
const json = AsposePdfModule.AsposePdfEncrypt(pdf_file, "user", "owner", AsposePdfModule.Permissions.PrintDocument, AsposePdfModule.CryptoAlgorithm.RC4x40, "ResultEncrypt.pdf");
console.log("AsposePdfEncrypt => %O", json.errorCode == 0 ? json.fileNameResult : json.errorText);