用 Node.js 加密 PDF
使用用户或所有者密码加密 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 => {
/*使用密码 "user" 和 "owner" 加密一个 PDF 文件,并保存为 "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';
/*使用密码 "user" 和 "owner" 加密 PDF 文件,并保存为 "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);