C#/VB.NET : chiffrer ou déchiffrer des fichiers PDF

2023-08-07 03:33:15

Le cryptage PDF est une tâche cruciale lorsqu'il s'agit de partager des documents confidentiels sur Internet. En cryptant les fichiers PDF avec des mots de passe forts, vous pouvez protéger les données du fichier contre l'accès par des parties non autorisées. Dans certains cas, il peut également être nécessaire de supprimer le mot de passe pour rendre le document public. Dans cet article, vous apprendrez à programmer chiffrer ou déchiffrer un fichier PDF en utilisant Spire.PDF for .NET.

Installer Spire.PDF for .NET

Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.PDF for .NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.

PM> Install-Package Spire.PDF

Crypter un fichier PDF avec un mot de passe

Il existe deux types de mots de passe pour chiffrer un fichier PDF - ouvrir le mot de passe et le mot de passe d'autorisation. Le premier est configuré pour ouvrir le fichier PDF, tandis que le second est configuré pour restreindre l'impression, la copie de contenu, les commentaires, etc. Si un fichier PDF est sécurisé avec les deux types de mots de passe, il peut être ouvert avec l'un ou l'autre mot de passe.

La méthode PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize) proposée par Spire.PDF for .NET vous permet de définir à la fois un mot de passe d'ouverture et un mot de passe d'autorisation pour chiffrer les fichiers PDF. Les étapes détaillées sont les suivantes.

  • Créez un objet PdfDocument.
  • Chargez un exemple de fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
  • Obtient les paramètres de sécurité du document à l'aide de la propriété PdfDocument.Security.
  • Chiffrez le fichier PDF avec un mot de passe ouvert et un mot de passe d'autorisation à l'aide de la méthode PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize).
  • Enregistrez le fichier de résultat à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Security;
    
    namespace EncryptPDF
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument pdf = new PdfDocument();
    
                //Load a sample PDF file
                pdf.LoadFromFile(@"E:\Files\sample.pdf");
    
                //Encrypt the PDF file with password
                pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit);
    
                //Save the result file
                pdf.SaveToFile("Encrypt.pdf", FileFormat.PDF);
            }
        }
    }

C#/VB.NET: Encrypt or Decrypt PDF Files

Supprimer le mot de passe pour décrypter un fichier PDF

Lorsque vous devez supprimer le mot de passe d'un fichier PDF, vous pouvez définir le mot de passe d'ouverture et le mot de passe d'autorisation sur vide lors de l'appel de la méthode PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize, string originalPermissionPassword). Les étapes détaillées sont les suivantes.

  • Créez un objet PdfDocument.
  • Chargez le fichier PDF crypté avec un mot de passe à l'aide de la méthode PdfDocument.LoadFromFile (nom de fichier de chaîne, mot de passe de chaîne).
  • Obtient les paramètres de sécurité du document à l'aide de la propriété PdfDocument.Security.
  • Décryptez le fichier PDF en définissant le mot de passe d'ouverture et le mot de passe d'autorisation sur vide à l'aide de la méthode PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize, string originalPermissionPassword).
  • Enregistrez le fichier de résultat à l'aide de la méthode PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Security;
    
    namespace DecryptPDF
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument pdf = new PdfDocument();
    
                //Load the encrypted PDF file with password
                pdf.LoadFromFile("Encrypt.pdf", "open");
    
                //Set the password as empty to decrypt PDF
                pdf.Security.Encrypt(string.Empty, string.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permission");
    
                //Save the result file
                pdf.SaveToFile("Decrypt.pdf", FileFormat.PDF);
            }
        }
    } 

C#/VB.NET: Encrypt or Decrypt PDF Files

Demander une licence temporaire

Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également