USO DE IRONPDF FOR JAVA

Cómo proteger un PDF con contraseña en Java

Darrius Serrant
Darrius Serrant
23 de febrero, 2023
Actualizado 8 de septiembre, 2024
Compartir:

Este artículo mostrará cómo utilizar IronPDF para trabajar con documentos PDF y también proteger nuevos archivos con una contraseña de usuario.

IronPDF - Biblioteca PDF Java

IroqPDF Java PDF Library es una biblioteca de Java para trabajar con documentos PDF. Ofrece una amplia gama de funciones para generar y manipular PDF, incluida la posibilidad de añadir texto, imágenes y otros tipos de contenido, y controlar el diseño y el formato del documento. También ofrece una serie de características importantes para asegurar el contenido de PDF, como usar características de protección con contraseña en IronPDF.

Pasos para proteger PDF con contraseña en aplicaciones Java

Requisitos previos para la configuración del proyecto

Para utilizar IronPDF para trabajar con archivos PDF en un proyecto Java Maven, tendrá que asegurarse de que tiene los siguientes requisitos previos:

  1. Java Development Kit (JDK): Debe tener instalada en su computadora una versión actual de Java en ejecución. Si no tienes archivos JAR, entonces descarga el último JDK desde el sitio web de Oracle.

  2. Maven: Maven es una importante herramienta de automatización de compilaciones para proyectos Java que se requiere para gestionar el proyecto y sus dependencias. Descargue el archivo Maven o JAR desde el sitio web de Apache Maven si no lo tiene instalado.

  3. Biblioteca IronPDF for Java: También necesitarás la biblioteca IronPDF for Java, que se añadirá a tu proyecto Maven como una dependencia. Esto se puede hacer añadiendo la siguiente dependencia al archivo pom.xml de tu proyecto. Maven lo descargará e instalará automáticamente en el proyecto.

    <dependency>
       <groupId>com.ironsoftware</groupId>
       <artifactId>com.ironsoftware</artifactId>
       <version>2025.4.4</version>
    </dependency>
    XML
  4. Otra dependencia necesaria es Slf4j. Agrega la dependencia de Slf4j en el archivo pom.xml.
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>2.0.3</version>
    </dependency>
XML

Una vez que haya descargado e instalado su PDF protegido con contraseña en un programa Java, estará listo para utilizar IronPDF para proteger un archivo PDF con protección por contraseña.

Pasos importantes antes de escribir código

El primer paso es importar las clases requeridas de IronPDF en el código Java. Agrega el siguiente código en la parte superior del archivo "Main.java":

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.metadata.MetadataManager;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityManager;
import com.ironsoftware.ironpdf.security.SecurityOptions;

import java.io.IOException;
import java.nio.file.Paths;
import java.util.Date;
JAVA

Ahora, en el método principal, ingrese su clave de licencia utilizando el método setLicenseKey de IronPDF.

License.setLicenseKey("Your license key");
JAVA

Abrir un documento PDF cifrado

El siguiente fragmento de código abrirá un documento que fue cifrado con la contraseña "password":

PdfDocument pdf = PdfDocument.fromFile(Paths.get("encrypted.pdf", "secretPassword"));
JAVA

En el fragmento de código anterior, se abrió un archivo PDF cifrado con una contraseña "password".

El documento PDF cifrado tiene el siguiente aspecto:

Cómo proteger con contraseña un PDF en Java, Figura 1: Abriendo un documento PDF cifrado

Abrir un documento PDF encriptado

Cifrar documento PDF con protección por contraseña

Cambiemos la contraseña del propietario del archivo "encrypted.pdf", que fue abierto en el paso anterior. El siguiente código ayuda a lograr esta tarea:

// Change or set the document owner password
SecurityManager securityManager = pdf.getSecurity();
securityManager.removePasswordsAndEncryption();
securityManager.setPassword("secret-key");
JAVA

El primer paso es eliminar la contraseña utilizando el método [IronPDF removePasswordsAndEncryption method](/java/object-reference/api/com/ironsoftware/ironpdf/security/SecurityManager.html#removePasswordsAndEncryption() y luego establecer una nueva contraseña utilizando el método [IronPDF setPassword method](/java/object-reference/api/com/ironsoftware/ironpdf/security/SecurityManager.html#setPassword(java.lang.String).

Guardar documentos PDF protegidos con contraseña

Por último, guarde el documento PDF con la siguiente línea de código:

pdf.saveAs(Paths.get("assets/secured.pdf"));
JAVA

El archivo de salida ahora se abre con la contraseña "secret-key".

Cómo proteger con contraseña un PDF en Java, Figura 2: Documento PDF recién encriptado

Documento PDF recién cifrado

Editar la configuración de seguridad de archivos

Las opciones de seguridad importantes se pueden configurar fácilmente con IronPDF en Java utilizando la clase de permisos IronPDF SecurityOptions. El código que aparece a continuación hace que el PDF sea de sólo lectura y prohíbe a los usuarios copiar, pegar e imprimir, y establece contraseñas para el propietario y el usuario.

SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserCopyPasteContent(false);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
securityOptions.setAllowUserFormData(false);

SecurityManager securityManager = pdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
JAVA

Esto establecerá todas las opciones de seguridad necesarias del documento PDF. Esto puede verse en el siguiente resultado:

Cómo proteger con contraseña un PDF en Java, Figura 3: Nuevas configuraciones de seguridad de PDF

Nuevas configuraciones de seguridad PDF

Resumen

Este artículo explicó cómo abrir un documento PDF existente y agregar protección con contraseña utilizando la biblioteca IronPDF para Java en Java. IronPDF hace que sea mucho más fácil trabajar con archivos PDF en Java. Ya sea que desee crear un nuevo documento o hacer un visor de PDF, IronPDF ayuda a lograr esta tarea con una sola línea de código. El motor de IronPDF es muy adecuado para el lenguaje de programación Java, ya que es rápido y eficiente en el uso de memoria. Con IronPDF, puede establecer una contraseña de usuario junto con la contraseña del propietario. Proporciona opciones de protección completa junto con otras características como convertir a PDF desde otros formatos con IronPDF, dividir documentos con IronPDF, y unir documentos con IronPDF.

IronPDF se puede usar de forma gratuita en una prueba gratuita de IronPDF y se puede licenciar para uso comercial con IronPDF. Su paquete Lite comienza desde $749. Descarga IronPDF y pruébalo.

Darrius Serrant
Ingeniero de Software Full Stack (WebOps)

Darrius Serrant tiene una licenciatura en Informática de la Universidad de Miami y trabaja como Ingeniero de Marketing WebOps Full Stack en Iron Software. Atraído por la programación desde una edad temprana, veía la computación como algo misterioso y accesible, lo que la convertía en el medio perfecto para la creatividad y la resolución de problemas.

En Iron Software, Darrius disfruta creando cosas nuevas y simplificando conceptos complejos para hacerlos más comprensibles. Como uno de nuestros desarrolladores residentes, también se ha ofrecido como voluntario para enseñar a los estudiantes, compartiendo su experiencia con la próxima generación.

Para Darrius, su trabajo es gratificante porque es valorado y tiene un impacto real.

< ANTERIOR
Biblioteca Java PDF Renderer (Tutorial para desarrolladores)
SIGUIENTE >
Cómo convertir una matriz de bytes a PDF en Java