Décrypter et décrypter un PDF en C#

Le cryptage PDF est utilisé pour protéger le document PDF contre tout accès non autorisé. Si un document PDF est crypté, vous devez le décrypter pour accéder à son contenu, sinon, il restera illisible. Le plus souvent, les documents PDF sont cryptés avec un mot de passe qui est requis pour ouvrir le document. D’autre part, vous pouvez également limiter les autorisations d’accès à diverses opérations telles que l’impression, l’édition, la copie, etc. Fichiers PDF utilisant C# et VB.NET. Dans cet article, je vais vous montrer comment effectuer des opérations de chiffrement et de déchiffrement de PDF à l’aide de C#.

API de cryptage et de décryptage PDF C# - Installation

Aspose.PDF for .NET est hébergé sur NuGet et peut facilement être installé à l’aide du gestionnaire de packages NuGet. Vous pouvez également télécharger la DLL de l’API à partir de la section Téléchargements.

Crypter un fichier PDF en C#

Afin de crypter un fichier PDF, vous devez définir un mot de passe qui sera nécessaire pour ouvrir et afficher le document. De plus, vous devez spécifier l’algorithme cryptographique souhaité comme méthode de chiffrement. Aspose.PDF for .NET prend en charge les méthodes de chiffrement suivantes :

  • RC4 avec une clé de 40 bits.
  • RC4 avec une clé de 128 bits.
  • AES avec une clé de 128 bits.
  • AES avec une clé de 256 bits.

Étapes pour chiffrer un fichier PDF

Voici les étapes simples pour chiffrer un document PDF à l’aide de C#.

  • Chargez le document PDF à l’aide de la classe Document.
  • Chiffrez le document PDF avec un mot de passe et un algorithme cryptographique à l’aide de la méthode Document.Encrypt.
  • Enregistrez le document PDF crypté à l’aide de la méthode Document.Save.

L’exemple de code suivant montre comment chiffrer un document PDF à l’aide de C#.

// Ouvrir le document
Document document = new Document("Encrypt.pdf");
// Crypter le PDF  
document.Encrypt("user_password", "owner_password", 0 /*permissions*/, CryptoAlgorithm.RC4x128);
// Enregistrer le PDF mis à jour
document.Save("Encrypted PDF.pdf");

Lorsque vous ouvrirez ce document PDF crypté dans Adobe Reader, la boîte de dialogue suivante apparaîtra.

document PDF crypté

Décrypter un fichier PDF à l’aide de C#

Pour décrypter un document PDF, vous devez avoir le mot de passe utilisateur ou propriétaire du document. Voici les étapes simples pour décrypter un document PDF :

  • Chargez le document PDF à l’aide de la classe Document en spécifiant le mot de passe de l’utilisateur ou du propriétaire.
  • Appelez la méthode Document.Decrypt().
  • Enregistrez le document PDF décrypté.

L’exemple de code suivant montre comment déchiffrer un document PDF à l’aide de C#.

// Ouvrir le document en spécifiant le mot de passe de son utilisateur ou de son propriétaire
Document document = new Document("Encrypted PDF.pdf", "user_password");
// Décrypter le PDF  
document.Decrypt();
// Enregistrer le PDF mis à jour
document.Save("Decrypted PDF.pdf");

Modifier les autorisations de sécurité d’un fichier PDF en C#

Vous pouvez améliorer la sécurité d’un document PDF en limitant l’autorisation de l’utilisateur. Dans ce cas, vous pouvez spécifier les opérations autorisées pour les utilisateurs. Voici la liste des autorisations que vous pouvez définir pour accorder à un utilisateur.

  • Imprimer le document - Permet d’imprimer le document.
  • Modifier le contenu - Permet de modifier le contenu du document.
  • Extraire le contenu - Permet de copier le contenu du document.
  • Modifier les annotations de texte - Permet d’ajouter ou de modifier des annotations de texte.
  • Remplir le formulaire - Permet de remplir les champs du formulaire interactif.
  • Extraire du contenu avec des handicaps - Permet d’extraire du texte et des graphiques (pour les utilisateurs handicapés).
  • Assembler le document - Permet d’insérer, de faire pivoter ou de supprimer des pages et de créer des signets ou des images miniatures.
  • Qualité d’impression - Permet d’imprimer des documents en haute résolution.

Étapes pour modifier les autorisations de sécurité d’un fichier PDF

Voici les étapes pour modifier les autorisations de sécurité d’un document PDF.

  • Chargez le document PDF.
  • Définissez les autorisations de sécurité à l’aide de la méthode Document.Encrypt.
  • Enregistrez le document PDF crypté.

L’exemple de code suivant montre comment modifier les autorisations d’un document PDF à l’aide de C#.

// Ouvrir le document
Document document = new Document("Encrypt.pdf");
// Crypter PDF avec autorisation d'impression
document.Encrypt("user_password", "owner_password", Permissions.PrintDocument | Permissions.PrintingQuality, CryptoAlgorithm.RC4x128);
// Enregistrer le PDF mis à jour
document.Save("Encrypted PDF.pdf");

Une autre façon de définir ou de modifier les privilèges des documents PDF consiste à utiliser la classe DocumentPrivilege. La classe DocumentPrivilege permet de définir les autorisations ou privilèges des utilisateurs. L’exemple de code suivant montre comment définir les autorisations de sécurité d’un document PDF à l’aide de la classe DocumentPrivilege en C#.

// Ouvrir le document
Document document = new Document("Encrypt.pdf");
// Appliquer des restrictions sur tous les privilèges
DocumentPrivilege privileges = DocumentPrivilege.ForbidAll;
// Autoriser les privilèges souhaités
privileges.AllowScreenReaders = true;
privileges.AllowPrint = true;
// Crypter le PDF
document.Encrypt("user_password", "owner_password", privileges, CryptoAlgorithm.RC4x128, false);
// Enregistrer le PDF mis à jour
document.Save("Encrypted PDF.pdf");

Voici les détails de sécurité du document PDF que nous avons crypté dans cette section.

modification des autorisations de sécurité du PDF

Conclusion

Dans cet article, vous avez suivi les étapes de chiffrement et de déchiffrement de documents PDF à l’aide de C#. De plus, vous avez également appris à définir ou à modifier les autorisations de sécurité d’un document PDF en C#. Ces fonctions de sécurité vous permettent de protéger les documents PDF sensibles à l’aide du mot de passe et des algorithmes cryptographiques ainsi que de limiter l’accès de l’utilisateur aux opérations liées au document. Vous pouvez consulter la documentation pour en savoir plus sur notre bibliothèque PDF .NET.

Voir également