USO DE IRONPDF PARA JAVA

Cómo crear una tabla en un documento PDF utilizando Java (Tutorial)

Actualizado 20 de febrero, 2023
Compartir:

En este artículo, aprenderemos a crear tablas dentro de un documento PDF utilizando Java.

Necesitaremos una biblioteca de terceros para crear tablas en documentos PDF mediante un programa Java. Existen múltiples bibliotecas disponibles que pueden utilizarse para crear tablas dentro de los PDF utilizando un programa Java. Sin embargo, pueden ser caros, difíciles de usar o tener problemas de rendimiento. Puede resultar complicado encontrar una biblioteca fácil de usar, gratuita para el desarrollo y que ofrezca un buen rendimiento.

IronPDF es una biblioteca muy útil para manipular archivos PDF. Puede encontrar más información sobre IronPDF haciendo clic en aquí.

En este artículo trataremos los siguientes pasos:

  1. Crear un nuevo proyecto
  2. Instalar la biblioteca IronPDF
  3. Crear un nuevo documento PDF
  4. Crear una tabla para ello
  5. Añadir valores dinámicos a nuestro documento PDF

Crear un nuevo proyecto Java

Abra su IDE preferido. En este artículo utilizaremos IntelliJ, por lo que los pasos para crear un nuevo proyecto pueden diferir si se utiliza otro IDE.

Abra IntelliJ IDE, haga clic en Archivo-> Nuevo Proyecto en la barra de menú superior. Asigne un nombre a su proyecto, seleccione la ubicación, el idioma, el sistema de compilación y el JDK como se muestra a continuación.

How to Add a Table to a PDF Using Java - Figura 1: Ventana de nuevo proyecto de IntelliJ IDE

Ventana de nuevo proyecto de IntelliJ IDE

Haga clic en el botón Crear proyecto y se creará un nuevo proyecto.

Instalar la biblioteca IronPDF

Ahora, necesitamos instalar la librería IronPDF en nuestro proyecto recién creado. Continúe con los pasos siguientes.

Abra el archivo pom.XML y añada el siguiente contenido XML bajo la etiqueta de cierre de propiedades.

``xml-mvn-install


Escriba el siguiente comando en su terminal y pulse Intro.

```console
mvn install

Esto instalará IronPDf en nuestro proyecto.

Añada la siguiente sentencia import para utilizar las clases IronPDF.

import com.ironsoftware.ironpdf.*;
JAVA

En primer lugar, aprenderemos a crear documentos PDF sencillos en java.

Crear un documento PDF

El siguiente código de ejemplo creará un nuevo documento PDF.

public static void main(String [] args) throws IOException {
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is sample pdf file");
    try {
        myPdf.saveAs(Paths.get("html_saved.pdf") );
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

El método renderHtmlAsPDF toma una cadena como argumento y convierte esa cadena en una instancia de un documento PDF.

La función saveAs toma una ruta de archivo como argumento y guarda el documento PDF recién creado en la ruta de archivo especificada en el argumento.

A partir del código anterior se crea un PDF, en la siguiente imagen.

Cómo añadir una tabla a un PDF utilizando Java - Figura 2: Nuevo documento PDF

Nuevo documento PDF

Ahora, añadiremos una tabla al PDF.

Crear tabla para el archivo PDF

El siguiente código creará una tabla en PDF.

public static void main(String [] args) throws IOException {

    String tableContent = "<table>\n" +
            "  <tr>\n" +
            "    <th>Company</th>\n" +
            "    <th>Contact</th>\n" +
            "    <th>Country</th>\n" +
            "  </tr>\n" +
            "  <tr>\n" +
            "    <td>Alfreds Futterkiste</td>\n" +
            "    <td>Maria Anders</td>\n" +
            "    <td>Germany</td>\n" +
            "  </tr>\n" +
            "  <tr>\n" +
            "    <td>Centro comercial Moctezuma</td>\n" +
            "    <td>Francisco Chang</td>\n" +
            "    <td>Mexico</td>\n" +
            "  </tr>\n" +
            "  <tr>\n" +
            "    <td>Ernst Handel</td>\n" +
            "    <td>Roland Mendel</td>\n" +
            "    <td>Austria</td>\n" +
            "  </tr>\n" +
            "  <tr>\n" +
            "    <td>Island Trading</td>\n" +
            "    <td>Helen Bennett</td>\n" +
            "    <td>UK</td>\n" +
            "  </tr>\n" +
            "  <tr>\n" +
            "    <td>Laughing Bacchus Winecellars</td>\n" +
            "    <td>Yoshi Tannamuri</td>\n" +
            "    <td>Canada</td>\n" +
            "  </tr>\n" +
            "  <tr>\n" +
            "    <td>Magazzini Alimentari Riuniti</td>\n" +
            "    <td>Giovanni Rovelli</td>\n" +
            "    <td>Italy</td>\n" +
            "  </tr>\n" +
            "</table>\n";
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);
    try {
        myPdf.saveAs(Paths.get("html_saved.pdf") );
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

Podemos ver que hemos utilizado simples etiquetas HTML para crear una tabla en PDF utilizando Java. Por lo tanto, para crear una tabla, debe tener conocimientos básicos sobre el uso de etiquetas HTML. Casi todos los programadores Java tienen conocimientos de HTML, por lo que es muy fácil crear una nueva tabla y celdas de tabla utilizando etiquetas HTML.

El archivo PDF generado por nuestro programa se encuentra en la siguiente imagen:

Cómo añadir una tabla a un PDF utilizando Java - Figura 3: Documento PDF que contiene una tabla a partir de HTML

Un documento PDF que contiene una tabla creada a partir de HTML

Podemos ver que se trata de una simple tabla sin estilo.

Ahora vamos a añadir un poco de estilo a nuestra tabla, como establecer el ancho de la tabla, el margen, el diseño, la fuente, el color de fondo, y muchos más.

Añadir estilo a la mesa

El siguiente código de ejemplo formateará nuestra tabla y añadirá estilo a nuestras celdas.

public static void main(String [] args) throws IOException {
    String htmlStyle = "<!DOCTYPE html>\n" +
        "<html>\n" +
            "<head>\n" +
                "<style>\n" +
                    "table {\n" +
                    "  font-family: arial, sans-serif;\n" +
                    "  border-collapse: collapse;\n" +
                    "  width: 100%;\n" +
                    "}\n" +
                    "\n" +
                    "td, th {\n" +
                    "  border: 1px solid #dddddd;\n" +
                    "  text-align: left;\n" +
                    "  padding: 8px;\n" +
                    "}\n" +
                    "\n" +
                    "tr:nth-child(even) {\n" +
                    "  background-color: #dddddd;\n" +
                    "}\n" +
                "</style>\n" +
            "</head>\n" +
        "<body>";
    String tableContent = "<table>\n" +
            "  <tr>\n" +
            "    <th>Company</th>\n" +
            "    <th>Contact</th>\n" +
            "    <th>Country</th>\n" +
            "  </tr>\n" +
            "  <tr>\n" +
            "    <td>Alfreds Futterkiste</td>\n" +
            "    <td>Maria Anders</td>\n" +
            "    <td>Germany</td>\n" +
            "  </tr>\n" +
            "  <tr>\n" +
            "    <td>Centro comercial Moctezuma</td>\n" +
            "    <td>Francisco Chang</td>\n" +
            "    <td>Mexico</td>\n" +
            "  </tr>\n" +
            "  <tr>\n" +
            "    <td>Ernst Handel</td>\n" +
            "    <td>Roland Mendel</td>\n" +
            "    <td>Austria</td>\n" +
            "  </tr>\n" +
            "  <tr>\n" +
            "    <td>Island Trading</td>\n" +
            "    <td>Helen Bennett</td>\n" +
            "    <td>UK</td>\n" +
            "  </tr>\n" +
            "  <tr>\n" +
            "    <td>Laughing Bacchus Winecellars</td>\n" +
            "    <td>Yoshi Tannamuri</td>\n" +
            "    <td>Canada</td>\n" +
            "  </tr>\n" +
            "  <tr>\n" +
            "    <td>Magazzini Alimentari Riuniti</td>\n" +
            "    <td>Giovanni Rovelli</td>\n" +
            "    <td>Italy</td>\n" +
            "  </tr>\n" +
            "</table>\n</body>\n" +
            "</html>";
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle+"Sample PDF"+tableContent);
    try {
        myPdf.saveAs(Paths.get("html_saved.pdf") );
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

Acabamos de añadir CSS para dar estilo a nuestra tabla en el PDF. Por lo tanto; podemos estilizar nuestra tabla como queramos usando CSS de una forma muy sencilla.

A continuación se muestra el PDF generado por nuestro programa.

Cómo añadir una tabla a un PDF usando Java - Figura 4: Documento PDF que contiene una tabla de forma HTMl y con estilo CSS

Un documento PDF que contiene una tabla creada a partir de HTML con estilo CSS

Nuestro código parece muy desordenado. Podemos limpiarlo moviendo todo nuestro contenido HTML a un archivo HTML y luego generando nuestro PDF usando ese archivo.

Crear una tabla utilizando un archivo HTML en PDF utilizando Java

Cree un nuevo archivo HTML, y añada todo su contenido HTML a ese archivo como se muestra a continuación:

Cómo añadir una tabla a un PDF utilizando Java - Figura 5: HTML trasladado a su propio archivo HTML

HTML trasladado del programa Java a su propio archivo

Añade el siguiente código al programa Java.

PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");
try {
    myPdf.saveAs(Paths.get("html_saved.pdf") );
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

Podemos ver lo fácil que es generar un PDF a partir de un documento HTML. Si necesita crear archivos PDF en java, la forma más sencilla es crear un documento HTML independiente con contenido y estilo y, a continuación, convertir el documento HTML en PDF con una sola línea de código.

Cómo añadir una tabla a un PDF utilizando Java - Figura 6: Documento PDF final con estilo

El documento PDF final con la tabla estilizada

Resumen

En este tutorial, hemos aprendido a crear una tabla con estilo en un archivo PDF utilizando Java. También hemos aprendido a convertir archivos HTML en archivos PDF utilizando Java. También podemos añadir imágenes a nuestro PDF, dividir las celdas, añadir nuevas columnas, filas, párrafos, encabezados, pies de página, firmas digitales y mucho más. Más información sobre estas funciones y mucho más en las páginas de documentación de IronPDF.

Elimine la marca de agua IronPDF de los documentos PDF generados de la siguiente manera adquirir una clave de licencia o por registrarse para una prueba gratuita.

He tratado de mantener este tutorial lo más simple posible, si tienes alguna pregunta, no dudes en preguntar en la sección de comentarios.

< ANTERIOR
Cómo convertir PNG a PDF en Java (Tutorial)
SIGUIENTE >
Tutorial de PDF Creator para Java (paso a paso)

¿Listo para empezar? Versión: 2024.3 recién publicada

Descarga gratuita de Maven Ver licencias >