Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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:
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.
Haga clic en el botón Crear proyecto y se creará un nuevo proyecto.
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.*;
En primer lugar, aprenderemos a crear documentos PDF sencillos en java.
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);
}
}
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.
Ahora, añadiremos una tabla al 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);
}
}
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:
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.
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);
}
}
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.
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.
Cree un nuevo archivo HTML, y añada todo su contenido HTML a ese archivo como se muestra a continuación:
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);
}
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.
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.
9 productos API .NET para sus documentos de oficina