Шифрование PDF в Node.js
Шифрование файла PDF с использованием пароля пользователя или владельца
Если вы отправляете кому-то по электронной почте вложение PDF, которое содержит конфиденциальную информацию, вы можете сначала добавить некоторую защиту, чтобы оно не попало в неверные руки. Лучший способ ограничить несанкционированный доступ к PDF-документу - это защитить его паролем. Для простого и безопасного шифрования документов вы можете использовать Aspose.PDF для Node.js через C++.
Пожалуйста, укажите разные пароли пользователя и владельца при шифровании PDF файла.
- Пароль пользователя, если установлен, необходимо указать для открытия PDF. Acrobat/Reader предложит пользователю ввести пароль пользователя. Если он неверный, документ не откроется.
- Пароль владельца, если установлен, контролирует разрешения, такие как печать, редактирование, извлечение, комментирование и т.д. Acrobat/Reader будет запрещать эти действия на основе настроек разрешений. Acrobat потребует этот пароль, если вы хотите установить/изменить разрешения.
Если вы хотите зашифровать PDF файл, вы можете использовать функцию AsposePdfEncrypt. Если вы хотите зашифровать PDF файл, попробуйте следующий фрагмент кода:
CommonJS:
- Вызовите
require
и импортируйте модульasposepdfnodejs
как переменнуюAsposePdf
. - Укажите имя PDF файла, который будет зашифрован.
- Вызовите
AsposePdf
как Promise и выполните операцию шифрования файла. Получите объект в случае успеха. - Вызовите функцию AsposePdfEncrypt.
- Зашифруйте PDF файл с паролями “user” и “owner”.
- Таким образом, если ‘json.errorCode’ равен 0, результат операции сохраняется в “ResultEncrypt.pdf”. Если параметр json.errorCode не равен 0 и, соответственно, в вашем файле появляется ошибка, информация об ошибке будет содержаться в ‘json.errorText’.
const AsposePdf = require('asposepdfnodejs');
const pdf_file = 'Aspose.pdf';
AsposePdf().then(AsposePdfModule => {
/*Зашифруйте PDF-файл с паролями "user" и "owner" и сохраните в "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.
-
Расшифруйте PDF файл с паролями “user” и “owner”.
-
Таким образом, если ‘json.errorCode’ равно 0, результат операции сохраняется в “ResultEncrypt.pdf”. Если параметр json.errorCode не равен 0 и, соответственно, в вашем файле появляется ошибка, информация об ошибке будет содержаться в ‘json.errorText’.
import AsposePdf from 'asposepdfnodejs';
const AsposePdfModule = await AsposePdf();
const pdf_file = 'Aspose.pdf';
/*Зашифровать PDF-файл с паролями "user" и "owner", и сохранить как "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);