Зашифровать PDF в Node.js

Зашифруйте PDF-файл, используя пользовательский или владельческий пароль

Если вы отправляете по электронной почте кому‑то PDF‑вложение, содержащее конфиденциальную информацию, вы можете захотеть сначала добавить к нему защиту, чтобы не допустить попадания в неправильные руки. Лучший способ ограничить неавторизованный доступ к PDF‑документу — защитить его паролем. Чтобы легко и безопасно шифровать документы, вы можете использовать Aspose.PDF for Node.js via C++.

Пожалуйста, укажите разные пользовательский и владельческий пароли при шифровании PDF‑файла.

  • Пароль User password, если установлен, — это то, что необходимо предоставить для открытия PDF. Acrobat/Reader запросит у пользователя ввод пароля пользователя. Если он неверен, документ не откроется.
  • Пароль Owner password, если установлен, управляет разрешениями, такими как печать, редактирование, извлечение, комментирование и т.д. Acrobat/Reader запретит эти действия в соответствии с настройками разрешений. Acrobat потребует этот пароль, если вы хотите установить/изменить разрешения.

Если вы хотите зашифровать PDF‑файл, вы можете использовать AsposePdfEncrypt функция. Если вы хотите зашифровать PDF‑файл, попробуйте следующий фрагмент кода:

CommonJS:

  1. Вызовите require и импортируйте модуль asposepdfnodejs как переменную AsposePdf.
  2. Укажите имя PDF‑файла, который будет зашифрован.
  3. Вызовите AsposePdf как Promise и выполните операцию шифрования файла. Получите объект, если успешно.
  4. Вызовите функцию AsposePdfEncrypt.
  5. Зашифруйте PDF‑файл с паролями “user” и “owner”.
  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. Зашифруйте PDF‑файл с паролями “user” и “owner”.
  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);