C#/VB.NET: proteger o desproteger un documento de Word

2023-09-04 07:25:40

Los documentos de Word se pueden proteger de diversas formas, según los requisitos de seguridad. Para evitar que personas no autorizadas abran un documento, puede cifrarlo con una contraseña. Para permitir que los usuarios abran el documento, pero no editen ni modifiquen su contenido, puede hacer que el documento sea de solo lectura o marcarlo como final.. Para permitir que los usuarios modifiquen partes del documento, puede bloquear todo el documento pero dejar que secciones específicas estén disponibles para editar. Este artículo se centra en cómo proteger o desproteger un documento de Word en C# y VB.NET usando Spire.Doc for .NET.

Instalar Spire.Doc for .NET

Para empezar, debe agregar los archivos DLL incluidos en el paquete Spire.Doc for .NET como referencias en su proyecto .NET. Los archivos DLL se pueden descargar desde este enlace o instalar a través de NuGet.

PM> Install-Package Spire.Doc

Proteger con contraseña un documento de Word en C#, VB.NET

Cifrar un documento con una contraseña garantiza que solo usted y determinadas personas puedan leerlo o editarlo. Los siguientes son los pasos para proteger un documento de Word con una contraseña usando Spire.Doc for .NET.

  • Crea un objeto de documento.
  • Cargue un documento de Word utilizando el método Document.LoadFromFile().
  • Cifre el documento con una contraseña utilizando el método Document.Encrypt().
  • Guarde el documento en otro archivo de Word utilizando el 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

Cambiar permiso de un documento de Word en C#, VB.NET

Los documentos cifrados con una contraseña abierta no pueden ser abiertos por quienes no conocen la contraseña. Si desea otorgar permiso a las personas para leer su documento pero restringir los tipos de modificaciones que alguien puede realizar, puede configurar el permiso del documento. Los siguientes son los pasos para cambiar el permiso de un documento de Word usando Spire.Doc for .NET.

  • Crea un objeto de documento.
  • Cargue un documento de Word utilizando el método Document.LoadFromFile().
  • Establezca el permiso del documento y establezca la contraseña de permiso utilizando el método Document.Protect().
  • Guarde el documento en otro archivo de Word utilizando el 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 secciones específicas de un documento de Word en C#, VB.NET

Cuando protege su documento, puede bloquear partes del mismo para que no se puedan cambiar y dejar las partes desbloqueadas disponibles para editar. Los siguientes son los pasos para proteger secciones específicas de un documento de Word usando Spire.Doc for .NET.

  • Crea un objeto de documento.
  • Cargue un documento de Word utilizando el método Document.LoadFromFile().
  • Establezca la restricción de edición como AllowOnlyFormFields.
  • Desproteja una sección específica configurando Document.Sections[index].ProtectForm en falso. El resto de tramos seguirán protegidos.
  • Guarde el documento en otro archivo de Word utilizando el 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 un documento de Word como final en C#, VB.NET

Al marcar un documento como Final, deshabilita las capacidades de escritura, edición y cambios de formato y aparecerá un mensaje a cualquier lector indicando que el documento ha sido finalizado. Los siguientes son los pasos para marcar un documento de Word como final usando Spire.Doc for .NET.

  • Crea un objeto de documento.
  • Cargue un archivo de Word usando el método Document.LoadFromFile().
  • Obtenga el objeto CustomDocumentProperties del documento.
  • Agregue una propiedad personalizada "_MarkAsFinal" al documento.
  • Guarde el documento en otro archivo de Word utilizando el 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

Eliminar contraseña de un documento de Word en C#, VB.NET

Puede eliminar la contraseña de un documento cifrado si ya no es necesario el cifrado. Los siguientes son los pasos detallados.

  • Crea un objeto de documento.
  • Cargue un documento de Word utilizando el método Document.LoadFromFile().
  • Elimine la contraseña utilizando el método Document.RemoveEncryption().
  • Guarde el documento en otro archivo de Word utilizando el 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 una licencia temporal

Si desea eliminar el mensaje de evaluación de los documentos generados o deshacerse de las limitaciones de la función, por favor solicitar una licencia de prueba de 30 días para ti.

Ver también