Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Este artículo mostrará cómo crear tablas dentro de un documento PDF utilizando Java.
Es necesario disponer de 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 el enlace página oficial.
En este artículo se tratan los siguientes pasos:
Crear un nuevo proyecto
Instalar la biblioteca IronPDF
Crear un nuevo documento PDF
Crear una tabla para ello
Abra su IDE preferido. En este artículo se recomienda 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.
Ventana de nuevo proyecto del IDE de IntelliJ
Haga clic en el botón Crear proyecto, y se creará un nuevo proyecto.
Ahora, instale la biblioteca IronPDF en el 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 este 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);
}
}
En renderHtmlAsPdf
toma una cadena como argumento y la convierte en una instancia de un documento PDF.
En 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.
**Nuevo documento 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);
}
}
El código anterior utiliza 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 este programa se encuentra en la siguiente imagen:
Documento PDF que contiene una tabla a partir de HTML
Es una mesa sencilla, sin estilo.
Ahora vamos a añadir algunos estilos a esta tabla, tales 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);
}
}
El CSS añadido se utiliza para dar estilo a la tabla en el PDF. Por lo tanto, es muy eficaz utilizar CSS para dar estilo según sea necesario.
A continuación se muestra el PDF generado por este programa.
Documento PDF que contiene una tabla en formato HTML y con estilo CSS
Este código parece muy desordenado. Pero puede limpiarse trasladando todo el contenido HTML a un archivo HTML y generando después el PDF a partir de ese archivo.
Cree un nuevo archivo HTML y añada todo su contenido HTML a ese archivo como se muestra a continuación:
HTML trasladado a su propio archivo HTML
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, lo más sencillo 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.
Documento PDF final con estilo
Este tutorial muestra cómo crear una tabla con estilo en un archivo PDF utilizando Java y cómo convertir archivos HTML en archivos PDF. IronPDF for Java también ofrece funciones para añadir imágenes al archivo PDF, dividir los archivos, encabezados y pies de página, firmas digitalesy muchos 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.
9 productos API .NET para sus documentos de oficina