C#/VB.NET : protéger ou déprotéger un document Word

2023-09-04 07:13:42 zaki zou

Les documents Word peuvent être protégés de différentes manières, en fonction des exigences de sécurité. Pour empêcher des personnes non autorisées d'ouvrir un document, vous pouvez le crypter avec un mot de passe. Pour permettre aux utilisateurs d'ouvrir le document, mais pas de modifier son contenu, vous pouvez rendre le document en lecture seule ou le marquer comme final.. Pour permettre aux utilisateurs de modifier des parties du document, vous pouvez verrouiller l'intégralité du document mais laisser les sections spécifiées disponibles pour l'édition. Cet article se concentre sur la façon de protéger ou déprotéger un document Word en C# et VB.NET à l'aide de Spire.Doc for .NET.

Installer Spire.Doc for .NET

Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.Doc for.NET comme 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.Doc

Protéger par mot de passe un document Word en C#, VB.NET

Le cryptage d'un document avec un mot de passe garantit que seuls vous et certaines personnes pouvez le lire ou le modifier. Voici les étapes pour protéger un document Word avec un mot de passe à l'aide de Spire.Doc for .NET.

  • Créez un objet Document.
  • Chargez un document Word à l'aide de la méthode Document.LoadFromFile().
  • Cryptez le document avec un mot de passe à l'aide de la méthode Document.Encrypt().
  • Enregistrez le document dans un autre fichier Word à l'aide de la méthode Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    
    namespace PasswordProtectWordDocument
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document document = new Document();
    
                //Load a Word file
                document.LoadFromFile(@"C:\Users\Administrator\Desktop\test.docx");
    
                //Encrypt the document with a password
                document.Encrypt("open-psd");
    
                //Save the document to another Word file
                document.SaveToFile("Encryption.docx", FileFormat.Docx);
            }
        }
    }

C#/VB.NET - How to Protect or Unprotect a Word Document

Modifier l'autorisation d'un document Word en C#, VB.NET

Les documents cryptés avec un mot de passe ouvert ne peuvent pas être ouverts par ceux qui ne connaissent pas le mot de passe. Si vous souhaitez autoriser les utilisateurs à lire votre document tout en limitant les types de modifications que quelqu'un peut apporter, vous pouvez définir l'autorisation du document. Voici les étapes pour modifier l'autorisation d'un document Word à l'aide de Spire.Doc for .NET.

  • Créez un objet Document.
  • Chargez un document Word à l'aide de la méthode Document.LoadFromFile().
  • Définissez l'autorisation du document et définissez le mot de passe d'autorisation à l'aide de la méthode Document.Protect().
  • Enregistrez le document dans un autre fichier Word à l'aide de la méthode Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    
    namespace ChangeDocumentPermission
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document document = new Document();
    
                //Load a Word document
                document.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.docx");
    
                //Set the document permission and set the permission password
                document.Protect(ProtectionType.AllowOnlyFormFields, "permission-psd");
    
                //Save the document to another Word file
                document.SaveToFile("Permission.docx");
            }
        }
    }

C#/VB.NET - How to Protect or Unprotect a Word Document

Verrouiller les sections spécifiées d'un document Word en C#, VB.NET

Lorsque vous protégez votre document, vous pouvez en verrouiller certaines parties afin qu'elles ne puissent pas être modifiées et laisser les parties déverrouillées disponibles pour l'édition. Voici les étapes pour protéger les sections spécifiées d'un document Word à l'aide de Spire.Doc for .NET.

  • Créez un objet Document.
  • Chargez un document Word à l'aide de la méthode Document.LoadFromFile().
  • Définissez la restriction de modification sur AllowOnlyFormFields.
  • Déprotégez une section spécifique en définissant Document.Sections[index].ProtectForm sur false. Les sections de repos continueront d'être protégées.
  • Enregistrez le document dans un autre fichier Word à l'aide de la méthode Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    
    namespace ProtectSpecificSection
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document doc = new Document();
    
                //Load a Word document
                doc.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.docx");
    
                //Set editing restriction as "AllowOnlyFormFields"
                doc.Protect(ProtectionType.AllowOnlyFormFields, "permissionPsd");
    
                //Unprotect section 2
                doc.Sections[1].ProtectForm = false;
    
                //Save the document to another Word file
                doc.SaveToFile("ProtectSection.docx");
            }
        }
    }

C#/VB.NET - How to Protect or Unprotect a Word Document

Marquer un document Word comme final en C#, VB.NET

En marquant un document comme Final, vous désactivez les capacités de saisie, d'édition et de modification de format et un message apparaîtra à tout lecteur indiquant que le document a été finalisé. Voici les étapes pour marquer un document Word comme final à l'aide de Spire.Doc for .NET.

  • Créez un objet Document.
  • Chargez un fichier Word à l'aide de la méthode Document.LoadFromFile().
  • Récupérez l'objet CustomDocumentProperties du document.
  • Ajoutez une propriété personnalisée "_MarkAsFinal" au document.
  • Enregistrez le document dans un autre fichier Word à l'aide de la méthode Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    
    namespace MarkAsFinal
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document doc = new Document();
    
                //Load a Word document
                doc.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.docx");
    
                //Get custom document properties
                CustomDocumentProperties customProperties = doc.CustomDocumentProperties;
    
                //Add "_MarkAsFinal" property to the document
                customProperties.Add("_MarkAsFinal", true);
    
                //Save the document to another Word file
                doc.SaveToFile("MarkAsFinal.docx");
            }
        }
    }

C#/VB.NET - How to Protect or Unprotect a Word Document

Supprimer le mot de passe d'un document Word en C#, VB.NET

Vous pouvez supprimer le mot de passe d'un document crypté si le cryptage n'est plus nécessaire. Voici les étapes détaillées.

  • Créez un objet Document.
  • Chargez un document Word à l'aide de la méthode Document.LoadFromFile().
  • Supprimez le mot de passe à l’aide de la méthode Document.RemoveEncryption().
  • Enregistrez le document dans un autre fichier Word à l'aide de la méthode Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    
    namespace RemovePassword
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document document = new Document();
    
                //Load an encrypted Word document
                document.LoadFromFile(@"C:\Users\Administrator\Desktop\Encryption.docx", FileFormat.Docx, "open-psd");
    
                //Remove encryption
                document.RemoveEncryption();
    
                //Save the document to another Word file
                document.SaveToFile("Decryption.docx", FileFormat.Docx);
            }
        }
    }

Demander une licence temporaire

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

Voir également