Aprendamos a proteger nuestros documentos del acceso no autorizado. Anteriormente discutimos agregar marcas de agua de texto e imagen a los documentos para evitar cualquier uso ilegal. En este artículo, veremos cómo agregar protección con contraseña a documentos PDF para bloquearlos usando C#. Además, cambiaremos la contraseña existente y también aprenderemos a eliminar la contraseña para desbloquear el PDF.

Proteger mediante programación archivos PDF con contraseña - Bloquear Desbloquear

A continuación se tratan los siguientes temas:

API .NET para bloquear y desbloquear archivos PDF

Para bloquear y desbloquear documentos, usaremos GroupDocs.Merger para .NET. Esta API permite agregar, cambiar y eliminar funciones de seguridad de contraseña para los documentos dentro de las aplicaciones .NET. Junto con la protección y desprotección de documentos PDF, la API ofrece muchas más funciones, como fusionar y dividir, que se mencionan en la documentación.

Puede descargar el instalador DLL o MSI desde la sección de descargas o instalar la API en su aplicación .NET a través de NuGet.

PM> Install-Package GroupDocs.Merger

Agregar contraseña a PDF en C# - Bloquear PDF

Bloquear PDF con contraseña

Comencemos agregando protección al archivo bloqueándolo con la contraseña. Los siguientes pasos muestran cómo agregar seguridad con contraseña a los documentos PDF usando C#.

  • Defina la contraseña usando la clase AddPasswordOptions.
  • Cargue el archivo PDF usando la clase Merger.
  • Bloquee el archivo agregando una contraseña usando el método AddPassword.
  • Guarde el archivo protegido utilizando el método Guardar.

El siguiente código C# agrega la contraseña al archivo PDF por seguridad.

/*
 * Agregue protección con contraseña al documento PDF usando C#
 */
string filePath = @"path/document.pdf";

AddPasswordOptions addOptions = new AddPasswordOptions("mySECRETpassWORD");

using (Merger merger = new Merger(filePath))
{
    merger.AddPassword(addOptions);
    merger.Save(@"path/protected-document.pdf");
}

Aquí está la salida del código anterior. Cuando intente abrir el archivo PDF, el editor o el visor le pedirá la contraseña para demostrar su autoridad.

Ingrese la contraseña del PDF protegido

Actualizar la contraseña existente de los archivos PDF en C#

¡Ups! Su contraseña probablemente esté expuesta. Cambiémoslo rápidamente programáticamente con el nuevo y difícil. Los siguientes pasos le permiten cambiar la contraseña actual de sus archivos PDF dentro de su aplicación .NET en C#.

  • Prepara las opciones de carga usando la contraseña actual.
  • Prepare las opciones de actualización usando la nueva contraseña.
  • Cargue el documento PDF usando la clase Merger y las opciones de carga.
  • Cambie la contraseña existente utilizando el método UpdatePassword.
  • Guarde el archivo bloqueado habiendo cambiado la contraseña utilizando el método Guardar.

Aquí está el fragmento de código que cambia la contraseña actual del documento PDF.

/*
 * Actualice la contraseña del documento PDF protegido usando C#
 */
string filePath = @"path/protected-document.pdf";

LoadOptions loadOptions = new LoadOptions("mySECRETpassWORD");
UpdatePasswordOptions updateOptions = new UpdatePasswordOptions("TOPSECRET_pa22WORD");

using (Merger merger = new Merger(filePath, loadOptions))
{
    merger.UpdatePassword(updateOptions);
    merger.Save(@"path/pwd-changed-document.pdf");
}

Eliminar la contraseña de los archivos PDF en C# - Desbloquear PDF

PDF desbloqueado - Contraseña eliminada

Ahora, creo que no necesitas seguridad, por eso quieres quitar la contraseña. Primero abramos el archivo y luego eliminemos su contraseña para que todos puedan acceder a él fácilmente. Los siguientes pasos muestran cómo desbloquear el archivo PDF eliminando su contraseña usando C#.

  • Prepara las opciones de carga usando la contraseña del archivo.
  • Cargue el documento PDF utilizando la clase Merger y las opciones de carga.
  • Elimine la contraseña existente utilizando el método RemovePassword.
  • Guarde el archivo desbloqueado usando el método Guardar.

El siguiente fragmento de código C# desbloquea el archivo PDF eliminando su contraseña existente, por lo que cualquier persona puede acceder a él sin autorización.

/*
 * Eliminar la protección con contraseña del documento PDF usando C#
 */
string filePath = @"path/protected-document.pdf";

LoadOptions loadOptions = new LoadOptions("mySECRETpassWORD");

using (Merger merger = new Merger(filePath, loadOptions))
{
    merger.RemovePassword();
    merger.Save(@"path/no-pwd-document.pdf");
}

Conclusión

Resumamos lo que aprendimos hoy. Comenzamos con el documento PDF simple y agregamos protección con contraseña. Luego cambiamos la contraseña existente de ese archivo PDF. Al final, aprendimos cómo eliminar la contraseña de nuestros documentos PDF. Ahora puede pasar a crear su propia aplicación de protección de contraseñas o de eliminación de contraseñas mediante la API de .NET.

Para obtener más información sobre GroupDocs.Merger para .NET, visite la documentación. Para consultas, contáctenos a través del foro.

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para usar la API sin las limitaciones de evaluación.

Ver también