在 Node.js 中加密 PDF

使用用户密码或拥有者密码加密 PDF 文件

如果您要向某人发送包含机密信息的 PDF 附件的电子邮件,您可能希望先为其添加一些安全措施,以防止其落入不法之徒手中。限制对 PDF 文档的未授权访问的最佳方法是使用密码进行保护。要轻松且安全地加密文档,您可以使用 Aspose.PDF for Node.js via C++。

在加密 PDF 文件时,请指定不同的用户密码和拥有者密码。

  • 如果已设置,用户密码 是打开 PDF 所需提供的密码。Acrobat/Reader 会提示用户输入用户密码。如果密码不正确,文档将无法打开。
  • 如果已设置,所有者密码 控制权限,如打印、编辑、提取、注释等。Acrobat/Reader 将根据权限设置禁止这些操作。如果您想设置/更改权限,Acrobat 将需要此密码。

如果您想加密 PDF 文件,可以使用 AsposePdfEncrypt 函数。 如果您想加密 PDF 文件,请尝试以下代码片段:

CommonJS:

  1. 调用 require 并导入 asposepdfnodejs 模块 作为 AsposePdf 变量。
  2. 指定将被加密的 PDF 文件名称。
  3. 调用 AsposePdf 作为 Promise 并执行文件加密操作。如果成功,则接收对象。
  4. 调用 AsposePdfEncrypt 函数。
  5. 使用密码 “user” 和 “owner” 加密 PDF 文件。
  6. 因此,如果 ‘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:

  1. 导入 asposepdfnodejs 模块。
  2. 指定要更改加密的 PDF 文件的名称。
  3. 初始化 AsposePdf 模块。如果成功,则接收对象。
  4. 调用 AsposePdfEncrypt 函数。
  5. 使用密码 “user” 和 “owner” 加密 PDF 文件。
  6. 因此,如果 ‘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);