Saltar al pie de página
USANDO IRONPDF PARA JAVA

Cómo Crear una Tabla en un Documento PDF Usando Java (Tutorial)

Este artículo demostrará cómo crear tablas dentro de un documento PDF usando Java.

Es necesario tener una biblioteca de terceros para crear tablas en documentos PDF usando un programa Java. Hay múltiples bibliotecas disponibles que se pueden usar para crear tablas dentro de PDFs usando un programa Java. Sin embargo, pueden ser caras, difíciles de usar o tener problemas de rendimiento. Puede ser complicado encontrar una biblioteca que sea fácil de usar, gratuita para desarrollo y que funcione eficazmente.

IronPDF es una biblioteca muy útil para manipular archivos PDF. Puede encontrar más información sobre IronPDF haciendo clic en la Página Oficial de Java de IronPDF.

Los siguientes pasos se cubren en este artículo:

  1. Crear un nuevo proyecto
  2. Instalar la biblioteca IronPDF
  3. Crear un nuevo documento PDF
  4. Crear una tabla para él
  5. Agregar valores dinámicos al documento PDF

Crear un nuevo proyecto Java

Abre tu IDE preferido. IntelliJ es recomendado en este artículo, por lo que los pasos para crear un nuevo proyecto pueden diferir usando otro IDE.

Abra IntelliJ IDE, haga clic en File > New Project desde la barra de menú superior. Nombre su proyecto, seleccione la ubicación, el idioma, el sistema de construcción y el JDK como se muestra a continuación.

Cómo crear una tabla en un documento PDF usando Java (Tutorial), Figura 1: Ventana de Nuevo Proyecto de IntelliJ IDE Ventana de Nuevo Proyecto de IntelliJ IDE

Haga clic en el botón Create Project, y se creará un nuevo proyecto.

Instalar la biblioteca IronPDF

Ahora, instale la biblioteca IronPDF en el proyecto recién creado. Continúe con los siguientes pasos.

Abra el archivo pom.xml y agregue las dependencias y repositorios necesarios para usar IronPDF. El contenido específico para el pom.xml no se proporciona en este artículo, pero asegúrese de incluir adecuadamente la biblioteca IronPDF usando la gestión de dependencias de Maven.

<!-- Add IronPDF dependencies here -->
<dependencies>
    <!-- Example dependency for IronPDF, actual group and artifact id to be retrieved from official documentation -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>VERSION_NUMBER</version>
    </dependency>
</dependencies>
<!-- Add IronPDF dependencies here -->
<dependencies>
    <!-- Example dependency for IronPDF, actual group and artifact id to be retrieved from official documentation -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>VERSION_NUMBER</version>
    </dependency>
</dependencies>
XML

Escriba el siguiente comando en su terminal y presione enter para instalar las dependencias de Maven especificadas.

mvn install
mvn install
SHELL

Esto instalará IronPDF en este proyecto.

Agregue la siguiente declaración de importación para usar las clases de IronPDF.

import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.*;
JAVA

Primero, aprenderemos a crear documentos PDF simples 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 {
    // Create a PDF document from an HTML string
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is a sample PDF file");

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // Create a PDF document from an HTML string
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is a sample PDF file");

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

El método [renderHtmlAsPdf](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String)) toma una cadena como argumento y convierte esa cadena en una instancia de un documento PDF.

La función [saveAs](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#saveAs(java.lang.String)) toma una ruta de archivo como argumento y guarda el documento PDF recién creado en la ruta de archivo especificada en el argumento.

Un PDF es creado a partir del código anterior, mostrado en la siguiente imagen.

Cómo crear una tabla en un documento PDF usando Java (Tutorial), Figura 2: Nuevo Documento PDF Nuevo Documento PDF

Crear tabla para el archivo PDF

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

public static void main(String[] args) throws IOException {
    // HTML content for creating a table
    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>";

    // Create a PDF document with table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // HTML content for creating a table
    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>";

    // Create a PDF document with table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

El código anterior utiliza etiquetas HTML simples para crear una tabla en PDF usando Java. Así que, para crear una tabla, debe tener un conocimiento básico de cómo usar etiquetas HTML. Casi todos los programadores de Java tienen conocimientos de HTML, por lo que es muy fácil crear una nueva tabla y celdas de tabla usando etiquetas HTML.

El archivo PDF generado por este programa se muestra en la siguiente imagen:

Cómo crear una tabla en un documento PDF usando Java (Tutorial), Figura 3: Documento PDF que contiene una tabla de HTML Documento PDF que contiene una tabla de HTML

Es una tabla simple sin estilo.

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

Añadir estilo a la tabla

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

public static void main(String[] args) throws IOException {
    // HTML and CSS content for styling the table
    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>";

    // Create a PDF document with styled table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // HTML and CSS content for styling the table
    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>";

    // Create a PDF document with styled table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

El CSS agregado se usa para estilizar la tabla en el PDF. Por lo tanto, es muy eficiente usar CSS para estilizar según sea necesario.

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

Cómo crear una tabla en un documento PDF usando Java (Tutorial), Figura 4: Documento PDF que contiene una tabla de HTML y estilizada con CSS Documento PDF que contiene una tabla de HTML y estilizada con CSS

Este código anterior parece muy desordenado. Pero puede limpiarse moviendo todo el contenido HTML a un archivo HTML y luego generando el PDF desde ese archivo.

Crear una tabla a partir de un archivo HTML en PDF con Java

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

Cómo crear una tabla en un documento PDF usando Java (Tutorial), Figura 5: HTML trasladado a su propio archivo HTML HTML trasladado a su propio archivo HTML

Agregue el siguiente código al programa Java.

// Create a PDF document from an HTML file
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");

try {
    // Save the created PDF document to a file
    myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
// Create a PDF document from an HTML file
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");

try {
    // Save the created PDF document to a file
    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 usando un documento HTML. Si necesitas crear archivos PDF en Java, la forma más fácil es crear un documento HTML separado con contenido y estilo y luego simplemente convertir tu documento HTML en PDF con una sola línea de código.

Cómo crear una tabla en un documento PDF usando Java (Tutorial), Figura 6: Documento PDF final con estilo Documento PDF final con estilo

Resumen

Este tutorial demostró cómo crear una tabla con estilo en un archivo PDF usando Java y aprendió a convertir archivos HTML en archivos PDF. IronPDF para Java también ofrece funcionalidad para agregar imágenes al archivo PDF, dividir archivos PDF, agregar encabezados y pies de página, aplicar firmas digitales, y mucho más. Explore la Documentación de IronPDF para aprender más sobre estas características y capacidades adicionales.

Elimine la marca de agua de IronPDF de sus documentos PDF generados comprando una clave de licencia o registrándose para una prueba gratuita.

Preguntas Frecuentes

¿Cómo puedo comenzar un nuevo proyecto Java para crear PDFs?

Para iniciar un nuevo proyecto Java para crear PDFs, puedes usar un IDE como IntelliJ. Comienza configurando el proyecto e instalando la biblioteca IronPDF a través de Maven para manejar la creación y manipulación de PDFs.

¿Qué pasos están involucrados en convertir contenido HTML a PDF en Java?

Para convertir contenido HTML a PDF en Java, puedes usar el método PdfDocument.renderHtmlAsPdf de IronPDF. Esto implica escribir tu contenido HTML, opcionalmente estilizarlo con CSS y renderizarlo en un PDF.

¿Puedo usar CSS para dar estilo a tablas en PDFs generados con Java?

Sí, puedes usar CSS para dar estilo a tablas en PDFs al incluir el CSS dentro del contenido HTML antes de renderizarlo en un PDF usando IronPDF. Esto te permite definir fuentes, bordes, colores y más.

¿Cómo creo un PDF a partir de un archivo HTML externo usando Java?

Para crear un PDF a partir de un archivo HTML externo en Java, puedes usar el método PdfDocument.renderHtmlFileAsPdf de IronPDF, que convierte todo el archivo HTML en un documento PDF.

¿Cuáles son los beneficios de usar una biblioteca de terceros para la creación de PDFs en Java?

Usar una biblioteca de terceros como IronPDF simplifica el proceso de creación de PDFs en Java, ofreciendo características como conversión de HTML a PDF, estilo de tablas, y funcionalidades adicionales como soporte para imágenes y firmas digitales.

¿Cómo puedo incluir imágenes en un documento PDF usando bibliotecas Java?

Puedes incluir imágenes en un documento PDF incorporándolas dentro del contenido HTML que renderizas en un PDF usando IronPDF. Este método permite la incorporación fluida de elementos visuales.

¿Qué opciones hay disponibles para dividir PDFs en Java?

IronPDF ofrece opciones para dividir PDFs, permitiéndote dividir un único PDF en múltiples documentos. Esta característica puede ser particularmente útil para gestionar documentos grandes o extraer secciones específicas.

¿Cómo puedo aplicar firmas digitales a PDFs usando Java?

Puedes aplicar firmas digitales a PDFs usando las características integradas de IronPDF, que soportan la adición de firmas digitales para mejorar la seguridad y autenticidad del documento.

¿Qué debo hacer si hay una marca de agua en mis documentos PDF?

Si hay una marca de agua en tus documentos PDF creados con IronPDF, puedes eliminarla comprando una clave de licencia o registrándote para una licencia de prueba gratuita.

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