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:
- Crear un nuevo proyecto
- Instalar la biblioteca IronPDF
- Crear un nuevo documento PDF
- Crear una tabla para él
- 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.
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>Escriba el siguiente comando en su terminal y presione enter para instalar las dependencias de Maven especificadas.
mvn installmvn installEsto 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.*;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);
}
}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.
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);
}
}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:
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);
}
}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.
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:
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);
}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.
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.









