Chiffrer un PDF en Node.js
Chiffrer un fichier PDF en utilisant un mot de passe utilisateur ou propriétaire
Si vous envoyez un email à quelqu’un avec une pièce jointe PDF contenant des informations confidentielles, vous pourriez souhaiter y ajouter d’abord une certaine sécurité pour éviter qu’elle ne tombe entre de mauvaises mains. La meilleure façon de limiter l’accès non autorisé à un document PDF est de le protéger avec un mot de passe. Pour chiffrer des documents facilement et en toute sécurité, vous pouvez utiliser Aspose.PDF pour Node.js via C++.
Veuillez spécifier des mots de passe utilisateur et propriétaire différents lors du chiffrement du fichier PDF.
- Le mot de passe utilisateur, s’il est défini, est ce que vous devez fournir pour ouvrir un PDF. Acrobat/Reader demandera à un utilisateur de saisir le mot de passe utilisateur. S’il n’est pas correct, le document ne s’ouvrira pas.
- Le mot de passe propriétaire, s’il est défini, contrôle les permissions, telles que l’impression, l’édition, l’extraction, les commentaires, etc. Acrobat/Reader interdira ces actions en fonction des paramètres d’autorisation. Acrobat nécessitera ce mot de passe si vous souhaitez définir/modifier les autorisations.
Si vous souhaitez chiffrer un fichier PDF, vous pouvez utiliser la fonction AsposePdfEncrypt. Si vous voulez chiffrer un fichier PDF, essayez l’extrait de code suivant :
CommonJS :
- Appelez
require
et importez le moduleasposepdfnodejs
comme variableAsposePdf
. - Spécifiez le nom du fichier PDF qui sera chiffré.
- Appelez
AsposePdf
en tant que Promise et effectuez l’opération de chiffrement du fichier. Recevez l’objet en cas de succès. - Appelez la fonction AsposePdfEncrypt.
- Chiffrez le fichier PDF avec les mots de passe “user” et “owner”.
- Ainsi, si ‘json.errorCode’ est 0, le résultat de l’opération est enregistré dans “ResultEncrypt.pdf”. Si le paramètre json.errorCode n’est pas 0 et, en conséquence, une erreur apparaît dans votre fichier, les informations sur l’erreur seront contenues dans ‘json.errorText’.
const AsposePdf = require('asposepdfnodejs');
const pdf_file = 'Aspose.pdf';
AsposePdf().then(AsposePdfModule => {
/*Crypter un fichier PDF avec les mots de passe "user" et "owner", et enregistrer le "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);
});
Il existe différentes autorisations de cryptage:
-
Module.Permissions.PrintDocument
-
Module.Permissions.ModifyContent
-
Module.Permissions.ExtractContent
-
Module.Permissions.ModifyTextAnnotations
-
Module.Permissions.FillForm
-
Module.Permissions.ExtractContentWithDisabilities
-
Module.Permissions.AssembleDocument
-
Module.Permissions.PrintingQuality
Il existe divers algorithmes de chiffrement :
- Module.CryptoAlgorithm.RC4x40
- Module.CryptoAlgorithm.RC4x128
- Module.CryptoAlgorithm.AESx128
- Module.CryptoAlgorithm.AESx256
ECMAScript/ES6 :
-
Importez le module
asposepdfnodejs
. -
Spécifiez le nom du fichier PDF qui changera le crypté.
-
Initialisez le module AsposePdf. Recevez l’objet si réussi.
-
Appelez la fonction AsposePdfEncrypt.
-
Déchiffrez le fichier PDF avec les mots de passe “user” et “owner”.
-
Ainsi, si ‘json.errorCode’ est 0, le résultat de l’opération est enregistré dans “ResultEncrypt.pdf”. Si le paramètre json.errorCode n’est pas 0 et, par conséquent, une erreur apparaît dans votre fichier, les informations sur l’erreur seront contenues dans ‘json.errorText’.
import AsposePdf from 'asposepdfnodejs';
const AsposePdfModule = await AsposePdf();
const pdf_file = 'Aspose.pdf';
/*Crypter un fichier PDF avec les mots de passe "user" et "owner", et sauvegarder dans "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);