Saltar al pie de página
USANDO IRONPDF PARA JAVA

Java PDF Stamper (Tutorial para Principiantes)

IronPDF - Biblioteca PDF de Java

IronPDF es una biblioteca Java para PDF para generar, leer y editar documentos PDF. Permite a los usuarios trabajar con documentos PDF con facilidad y precisión. IronPDF para Java está construido sobre el éxito de IronPDF para .NET y proporciona eficiencia en diferentes plataformas. IronPDF para Java utiliza IronPdfEngine, que es rápido y optimizado para el rendimiento.

IronPDF ayuda a extraer texto e imágenes de PDFs y otros objetos de archivos PDF. Ayuda a crear PDFs a partir de una cadena de HTML, URL e imágenes. También permite la conversión entre diferentes formatos de archivo. Puede añadir fácilmente nuevo contenido y añadir firmas digitales a los PDFs junto con metadatos de documento a documentos PDF existentes. Está diseñado especialmente para Java 8+, Scala y Kotlin, en cualquier plataforma Windows, Linux y Cloud.

Pasos para crear PDF Stamper utilizando IronPDF en la aplicación Java

Prerrequisitos

Para hacer un sellador de PDF, necesitarás los siguientes requisitos previos:

1. Java IDE

Puedes usar cualquier IDE compatible con Java. Hay un montón de IDEs disponibles para el desarrollo en Java. Esta demostración usará IntelliJ IDE. Puedes usar NetBeans, Eclipse, etc.

2. Proyecto Maven

Maven es un gestor de dependencias y permite controlar el proyecto Java. Maven para Java se puede descargar desde el sitio web oficial de Maven. IntelliJ IDE para Java contiene soporte para Maven.

3. IronPDF

Puedes descargar e instalar IronPDF para Java de varias maneras.

  • Añadiendo la dependencia IronPDF en el archivo pom.xml en el proyecto Maven.
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>LATEST_VERSION</version> <!-- Make sure to replace LATEST_VERSION with the actual version number -->
</dependency>
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>LATEST_VERSION</version> <!-- Make sure to replace LATEST_VERSION with the actual version number -->
</dependency>
XML

4. Slf4j

Esta dependencia también es requerida para sellar contenido en un documento PDF existente. Se puede añadir usando el gestor de dependencias Maven en IntelliJ o descargar directamente desde el sitio web de Maven. Añade la siguiente dependencia al archivo pom.xml:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
XML

Añadir las importaciones necesarias

Una vez que se han instalado todos los requisitos previos, el siguiente paso es importar los paquetes necesarios de IronPDF para trabajar con documentos PDF. Añade el siguiente código en la parte superior del archivo Main.java:

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
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 com.ironsoftware.ironpdf.stamp.*;

import java.io.IOException;
import java.nio.file.Paths;
import java.util.Date;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
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 com.ironsoftware.ironpdf.stamp.*;

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

Clave de licencia

Algunos métodos disponibles en IronPDF requieren una licencia para ser usados. Puedes comprar una licencia o probar IronPDF de forma gratuita con una licencia de prueba. Puedes establecer la clave así:

// Set the IronPDF license key
License.setLicenseKey("YOUR-KEY");
// Set the IronPDF license key
License.setLicenseKey("YOUR-KEY");
JAVA

Abrir un documento PDF existente

Para importar un documento existente para sellar nuevo contenido, se utiliza la clase [PdfDocument](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html). Su método estático [fromFile](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#fromFile(java.nio.file.Path)) se utiliza para cargar un archivo desde una ruta específica con el nombre del archivo real. El código es el siguiente:

// Load an existing PDF document
PdfDocument pd = PdfDocument.fromFile(Paths.get("sample.pdf"));
// Load an existing PDF document
PdfDocument pd = PdfDocument.fromFile(Paths.get("sample.pdf"));
JAVA

Documento original cargado:

Sellador de PDF en Java (Tutorial para Principiantes), Figura 1: El documento de ejemplo El documento de ejemplo

Añadir nuevo contenido HTML

IronPDF proporciona un paquete de sellos. Permite una serie de opciones de estampado útiles como [BarcodeStamper](/java/object-reference/api/com/Iron Software/ironpdf/stamp/BarcodeStamper.html), [HtmlStamper](/java/object-reference/api/com/Iron Software/ironpdf/stamp/HtmlStamper.html), [ImageStamper](/java/object-reference/api/com/Iron Software/ironpdf/stamp/ImageStamper.html), [TextStamper](/java/object-reference/api/com/Iron Software/ironpdf/stamp/TextStamper.html), y otros para la alineación del contenido. Para añadir nuevo contenido HTML a este documento PDF se utilizará la clase HtmlStamper. Vamos a usar el archivo de la sección anterior y añadirle algo de contenido. El siguiente código ayuda a lograr esta tarea:

// Create an HtmlStamper and set its content
HtmlStamper htmlStamper = new HtmlStamper();
htmlStamper.setHtml("New content added!");
// Create an HtmlStamper and set its content
HtmlStamper htmlStamper = new HtmlStamper();
htmlStamper.setHtml("New content added!");
JAVA

Se crea un objeto HtmlStamper y luego se usa su método [setHtml](/java/object-reference/api/com/Iron Software/ironpdf/stamp/Stamper.html#setHtml(java.lang.String)) para adjuntar nuevo código HTML. El siguiente paso es aplicarlo al documento PDF existente para crear una nueva versión del PDF.

Añadir todos los elementos interactivos a un documento PDF

Usando el objeto PdfDocument creado anteriormente para añadir el código HTML al documento existente. Proporciona [applyStamp](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#applyStamp(com.Iron Software.ironpdf.stamp.Stamper)) con dos sobrecargas, una que sólo acepta el contenido como un objeto [Stamper](/java/object-reference/api/com/Iron Software/ironpdf/stamp/Stamper.html) y la otra también con selección de página.

// Apply the stamper to the PDF document
pd.applyStamp(htmlStamper);
// Apply the stamper to the PDF document
pd.applyStamp(htmlStamper);
JAVA

Esto añadirá la descripción de la cadena al documento existente.

Guardar los cambios en el PDF

Para guardar el archivo, usa el método [saveAs](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#saveAs(java.lang.String)) del objeto PdfDocument.

// Save the modified PDF document
pd.saveAs("stamped.pdf");
// Save the modified PDF document
pd.saveAs("stamped.pdf");
JAVA

Sellador de PDF en Java (Tutorial para Principiantes), Figura 2: El archivo PDF estampado El archivo PDF estampado

La cadena HTML se añade a cada página del documento PDF y en el medio de cada página.

Sello a páginas específicas

Puedes usar otra sobrecarga del método applyStamp para añadir el contenido a una página específica.

// Stamp content to a specific page
pd.applyStamp(htmlStamper, PageSelection.singlePage(1));
// Stamp content to a specific page
pd.applyStamp(htmlStamper, PageSelection.singlePage(1));
JAVA

La clase [PageSelection](/java/object-reference/api/com/Iron Software/ironpdf/edit/PageSelection.html) proporciona diferentes métodos para controlar el número de página. firstPage, lastPage, allPages, y pageRange son algunos métodos disponibles para añadir el contenido de manera adecuada.

Alineación del contenido

Puedes usar [setVerticalAlignment](/java/object-reference/api/com/Iron Software/ironpdf/stamp/Stamper.html#setVerticalAlignment(com.Iron Software.ironpdf.stamp.VerticalAlignment), [setHorizontalAlignment](/java/object-reference/api/com/Iron Software/ironpdf/stamp/Stamper.html#setHorizontalAlignment(com.Iron Software.ironpdf.stamp.HorizontalAlignment), setWidth, setHeight métodos en cada clase Stamper para ajustar la posición del contenido añadido al documento PDF existente. El siguiente código de ejemplo ayudará a colocar el texto en la parte inferior izquierda de la página:

// Set the alignment of the stamper
htmlStamper.setHorizontalAlignment(HorizontalAlignment.LEFT);
htmlStamper.setVerticalAlignment(VerticalAlignment.BOTTOM);
// Set the alignment of the stamper
htmlStamper.setHorizontalAlignment(HorizontalAlignment.LEFT);
htmlStamper.setVerticalAlignment(VerticalAlignment.BOTTOM);
JAVA

Sellador de PDF en Java (Tutorial para Principiantes), Figura 3: El archivo PDF de salida con alineación del sellador El archivo PDF de salida con alineación del sellador

Puedes usar los métodos setVerticalOffset, setHorizontalOffset para ajustar aún más la posición del contenido.

Para más información sobre cómo trabajar con archivos PDF usando IronPDF visita este ejemplo de código para la conversión de HTML a PDF en Java.

Sellar metadatos, firma y opciones de seguridad en un documento existente

IronPDF para Java es una biblioteca versátil y proporciona la facilidad de añadir descripciones de archivos en forma de metadatos, permisos de usuario, contraseña de usuario, añadir firma digital y crear documentos firmados para guardar la versión del documento PDF.

Metadatos

// Edit file metadata
MetadataManager metadata = pd.getMetadata();
metadata.setAuthor("Satoshi Nakamoto");
metadata.setKeywords("SEO, Friendly");
metadata.setModifiedDate(new Date().toString());
// Edit file metadata
MetadataManager metadata = pd.getMetadata();
metadata.setAuthor("Satoshi Nakamoto");
metadata.setKeywords("SEO, Friendly");
metadata.setModifiedDate(new Date().toString());
JAVA

Opciones de seguridad

También puedes controlar las opciones de seguridad de tu archivo PDF para que los datos sean guardados de un uso no autorizado. Proporciona opciones para establecer [setAllowUserPrinting](/java/object-reference/api/com/Iron Software/ironpdf/security/SecurityOptions.html#setAllowUserPrinting(com.Iron Software.ironpdf.security.PdfPrintSecurity), [setAllowUserEdits](/java/object-reference/api/com/Iron Software/ironpdf/security/SecurityOptions.html#setAllowUserEdits(com.Iron Software.ironpdf.security.PdfEditSecurity), [setAllowUserCopyPasteContent](/java/object-reference/api/com/Iron Software/ironpdf/security/SecurityOptions.html#setAllowUserCopyPasteContent(java.lang.Boolean), [setAllowUserAnnotations](/java/object-reference/api/com/Iron Software/ironpdf/security/SecurityOptions.html#setAllowUserAnnotations(java.lang.Boolean), [setUserPassword](/java/object-reference/api/com/Iron Software/ironpdf/security/SecurityOptions.html#setUserPassword(java.lang.String), [setAllowUserFormData](/java/object-reference/api/com/Iron Software/ironpdf/security/SecurityOptions.html#setAllowUserFormData(java.lang.Boolean)) parámetros a verdadero o falso. El siguiente código de ejemplo ayudará a establecer todas las propiedades de los objetos mencionados anteriormente.

// Edit file security settings
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserCopyPasteContent(false);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.FULL_PRINT_RIGHTS);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("top-secret");
securityOptions.setUserPassword("sharable");
// Edit file security settings
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserCopyPasteContent(false);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.FULL_PRINT_RIGHTS);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("top-secret");
securityOptions.setUserPassword("sharable");
JAVA

Contraseña de usuario

// Change or set the document encryption password
SecurityManager securityManager = pd.getSecurity();
securityManager.removePasswordsAndEncryption();
securityManager.makePdfDocumentReadOnly("secret-key");

securityManager.setSecurityOptions(securityOptions);
pd.saveAs(Paths.get("assets/secured.pdf"));
// Change or set the document encryption password
SecurityManager securityManager = pd.getSecurity();
securityManager.removePasswordsAndEncryption();
securityManager.makePdfDocumentReadOnly("secret-key");

securityManager.setSecurityOptions(securityOptions);
pd.saveAs(Paths.get("assets/secured.pdf"));
JAVA

Para sellar firmas digitales en el archivo real, puedes ver este ejemplo de código detallado para firmas PDF.

Resumen

Este artículo discutió cómo sellar contenido en un documento PDF existente en Java. Hay un paquete stamp con una serie de clases de estampado útiles, que pueden usarse para añadir contenido en múltiples formatos en cualquier ubicación deseada en el documento original.

IronPDF es una biblioteca versátil como se puede ver en los ejemplos de código anteriores también. Es bastante sencillo pero, sin embargo, una herramienta muy poderosa para la generación y manipulación de PDF. Esto ayuda a los desarrolladores a integrar fácilmente todas las funcionalidades de PDF en un solo programa de aplicación Java.

IronPDF es gratuito para un solo desarrollo y proporciona una licencia de prueba gratuita sin marca de agua para probar toda su funcionalidad. Sin embargo, para uso comercial, debe ser licenciado con IronPDF.

Finalmente, IronPDF ofrece [una promoción especial para comprar las suites de Iron Software](Iron Suite) en la cual los desarrolladores pueden comprar los cinco productos de Iron Software por el precio de dos licencias.

Preguntas Frecuentes

¿Cómo puedo agregar contenido a un documento PDF existente en Java?

Puedes usar la clase HtmlStamper de IronPDF for Java para agregar contenido HTML a un documento PDF existente. Esta clase te permite integrar nuevo contenido mientras preservas el formato original.

¿Cuáles son los pasos principales para crear un PDF stamper en Java?

Para crear un PDF stamper usando IronPDF for Java, necesitas configurar un IDE de Java, crear un proyecto Maven para la gestión de dependencias e incluir la biblioteca IronPDF. Luego, importar las clases necesarias, inicializar la licencia, abrir un PDF existente y usar el HtmlStamper para agregar contenido.

¿Cómo puedo asegurarme de que se preserve el formato de un PDF al agregar nuevo contenido?

IronPDF for Java mantiene el formato original de un PDF al agregar nuevo contenido. Esto se logra a través de su robusto motor de renderizado, que replica con precisión el diseño existente mientras integra nuevos elementos.

¿Es posible aplicar un sello solo a ciertas páginas de un PDF?

Sí, con IronPDF for Java, puedes usar el método applyStamp junto con la clase PageSelection para seleccionar páginas específicas dentro de un PDF para estampar.

¿Cómo ajusto la posición del contenido sellado en un documento PDF?

Puedes ajustar la posición del contenido sellado en un PDF usando los métodos setVerticalAlignment y setHorizontalAlignment en la clase HtmlStamper para controlar dónde aparece el nuevo contenido en la página.

¿Cuáles son las características de seguridad disponibles para documentos PDF?

IronPDF for Java ofrece varias características de seguridad, incluyendo establecer permisos de usuario, agregar contraseñas y controlar el acceso a la impresión, edición y copia de contenido dentro de documentos PDF.

¿Necesito una licencia para usar una biblioteca de PDF para propósitos comerciales?

Sí, se requiere una licencia comercial para usar IronPDF for Java en un entorno comercial. Sin embargo, hay una licencia de prueba gratuita disponible para probar la funcionalidad completa de la biblioteca sin una marca de agua.

¿Qué plataformas son compatibles con IronPDF for Java?

IronPDF for Java es compatible con Java 8+, Scala, Kotlin y soporta varias plataformas, incluyendo Windows, Linux y entornos en la nube.

¿Cómo puedo convertir contenido HTML en un PDF en Java?

Puedes convertir contenido HTML en un PDF usando el método RenderHtmlAsPdf de IronPDF for Java, permitiendo que cadenas o archivos HTML se rendericen con precisión como documentos PDF.

¿Qué se necesita para comenzar a usar IronPDF for Java en un proyecto?

Para comenzar a usar IronPDF for Java, asegúrate de tener un IDE de Java como IntelliJ, un proyecto Maven para gestionar dependencias y la biblioteca IronPDF. También necesitas importar las clases relevantes y configurar una licencia para la biblioteca.

Darrius Serrant
Ingeniero de Software Full Stack (WebOps)

Darrius Serrant tiene una licenciatura en Ciencias de la Computación de la Universidad de Miami y trabaja como Ingeniero de Marketing WebOps Full Stack en Iron Software. Atraído por la programación desde joven, vio la computación como algo misterioso y accesible, convirtiéndolo en el ...

Leer más