iText 7 para Java: guía completa con ejemplos prácticos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

iText 7 para Java: Guía completa para crear y editar PDF

iText 7 es una potente librería de código abierto (AGPL) para Java, diseñada para la creación, manipulación y renderizado programático de documentos PDF. Es la sucesora de la popular librería iText 5 y ofrece una arquitectura modular completamente rediseñada, enfocada en el rendimiento, la flexibilidad y la facilidad de uso. iText 7 permite a los desarrolladores resolver una amplia gama de tareas: desde la generación de facturas e informes simples hasta la creación de documentos complejos con validez legal, que incluyen firmas digitales, formularios y metadatos.

¿Por qué usar iText 7? En el mundo actual, el PDF es el formato universal para el intercambio de documentos, garantizando que su apariencia sea consistente en cualquier dispositivo. Crear archivos PDF manualmente es tedioso e ineficiente, especialmente cuando se trabaja con grandes volúmenes de datos. iText 7 automatiza este proceso, brindando a los desarrolladores Java un control total sobre cada aspecto del documento: desde agregar texto e imágenes hasta crear formularios interactivos y gestionar permisos de acceso. Es indispensable en sistemas de gestión documental, comercio electrónico, banca y cualquier otra aplicación que requiera la generación o el procesamiento de PDF.

La librería es compatible con todas las especificaciones PDF más recientes, incluido PDF 2.0. También ofrece módulos adicionales (add-ons) para trabajar con conversión HTML (pdfHTML), reconocimiento óptico de caracteres (pdfOCR), creación de SVG (pdfSVG) y procesamiento de imágenes (pdfImage). Es importante destacar que iText 7 se distribuye bajo una licencia dual: AGPL (requiere que el código fuente de tu aplicación sea abierto) y comercial (para uso propietario).

Instalación

Para instalar iText 7 en tu proyecto Java, utiliza el sistema de compilación Maven o Gradle. A continuación se muestra el comando exacto para agregar las dependencias en el archivo pom.xml (Maven).

<!-- pom.xml -->
<dependencies>
    <!-- Módulo principal de iText 7 -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itext7-core</artifactId>
        <version>8.0.4</version> <!-- Verifica la versión más reciente en Maven Central -->
        <type>pom</type>
    </dependency>
</dependencies>

Para Gradle (build.gradle):

implementation 'com.itextpdf:itext7-core:8.0.4'

Si solo necesitas módulos específicos (por ejemplo, kernel, layout, io), puedes agregarlos por separado:

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>kernel</artifactId>
    <version>8.0.4</version>
</dependency>
<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>layout</artifactId>
    <version>8.0.4</version>
</dependency>

Inicio rápido: ejemplo mínimo funcional

El siguiente código crea un documento PDF simple con el texto "¡Hola, Mundo!" y lo guarda en el archivo HolaMundo.pdf.

import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;

import java.io.FileNotFoundException;

public class HolaMundo {
    public static void main(String[] args) throws FileNotFoundException {
        // 1. Creamos un PdfWriter que escribirá los datos en el archivo
        PdfWriter writer = new PdfWriter("HolaMundo.pdf");
        
        // 2. Creamos un PdfDocument, el objeto que representa el documento PDF
        PdfDocument pdf = new PdfDocument(writer);
        
        // 3. Creamos un Document, un objeto de alto nivel para agregar elementos (texto, tablas, etc.)
        Docum                    

Recommendations