C#/VB.NET: proteger ou desproteger um documento do Word

2023-09-04 08:09:18

Os documentos do Word podem ser protegidos de várias maneiras, dependendo dos requisitos de segurança. Para evitar que pessoas não autorizadas abram um documento, você pode criptografá-lo com uma senha. Para permitir que os usuários abram o documento, mas não editem ou modifiquem seu conteúdo, você pode tornar o documento somente leitura ou marcá-lo como final. Para permitir que os usuários modifiquem partes do documento, você pode bloquear o documento inteiro, mas deixar seções específicas disponíveis para edição. Este artigo se concentra em como proteger ou desproteger um documento do Word em C# e VB.NET usando Spire.Doc for .NET.

Instale o Spire.Doc for .NET

Para começar, você precisa adicionar os arquivos DLL incluídos no pacote Spire.Doc for.NET como referências em seu projeto .NET. Os arquivos DLL podem ser baixados deste link ou instalados via NuGet.

PM> Install-Package Spire.Doc

Proteja com senha um documento do Word em C#, VB.NET

Criptografar um documento com uma senha garante que somente você e determinadas pessoas possam lê-lo ou editá-lo. A seguir estão as etapas para proteger um documento do Word com uma senha usando Spire.Doc for .NET.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Criptografe o documento com uma senha usando o método Document.Encrypt().
  • Salve o documento em outro arquivo do Word usando o método 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

Alterar permissão de um documento do Word em C#, VB.NET

Documentos criptografados com senha aberta não podem ser abertos por quem não conhece a senha. Se quiser conceder permissão às pessoas para lerem seu documento, mas restringir os tipos de modificações que alguém pode fazer, você pode definir a permissão do documento. A seguir estão as etapas para alterar a permissão de um documento do Word usando Spire.Doc for .NET.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Defina a permissão do documento e defina a senha de permissão usando o método Document.Protect().
  • Salve o documento em outro arquivo do Word usando o método 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

Bloquear seções especificadas de um documento do Word em C#, VB.NET

Ao proteger seu documento, você pode bloquear partes dele para que não possam ser alteradas e deixar as partes desbloqueadas disponíveis para edição. A seguir estão as etapas para proteger seções específicas de um documento do Word usando Spire.Doc for .NET.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Defina a restrição de edição como AllowOnlyFormFields.
  • Desproteja uma seção específica definindo Document.Sections[index].ProtectForm como false. As demais seções continuarão protegidas.
  • Salve o documento em outro arquivo do Word usando o método 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

Marcar um documento do Word como final em C#, VB.NET

Ao marcar um documento como Final, você desativa os recursos de digitação, edição e alterações de formato e uma mensagem aparecerá para qualquer leitor informando que o documento foi finalizado. A seguir estão as etapas para marcar um documento do Word como final usando Spire.Doc for .NET.

  • Crie um objeto Documento.
  • Carregue um arquivo Word usando o método Document.LoadFromFile().
  • Obtenha o objeto CustomDocumentProperties do documento.
  • Adicione uma propriedade customizada "_MarkAsFinal" ao documento.
  • Salve o documento em outro arquivo do Word usando o método 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

Remover senha de um documento do Word em C#, VB.NET

Você poderá remover a senha de um documento criptografado se a criptografia não for mais necessária. A seguir estão as etapas detalhadas.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Remova a senha usando o método Document.RemoveEncryption().
  • Salve o documento em outro arquivo do Word usando o método 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);
            }
        }
    }

Solicite uma licença temporária

Se desejar remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de teste de 30 dias para você mesmo.

Veja também