USO DE IRONPDF FOR JAVA

Cómo generar archivos PDF desde aplicaciones Java de forma dinámica

Jordi Bardia
Jordi Bardia
28 de marzo, 2023
Actualizado 25 de agosto, 2024
Compartir:

Este tutorial explicará cómo crear archivos PDF dinámicamente en aplicaciones Java y explorará los ejemplos de código para crear páginas PDF a partir de páginas de texto, URL y HTML. A continuación, cubrirá la creación de un archivo PDF protegido por contraseña a partir de una nueva instancia de documento.

La Biblioteca Java IronPDF es ideal para este propósito porque es gratuita para el desarrollo, más segura, ofrece todas las funcionalidades en una sola biblioteca con un 100% de precisión y tiene un rendimiento excepcional.

Antes de seguir adelante, hagamos una breve introducción a IronPDF.

IronPDF

IronPDF Java Library es la biblioteca PDF de Java más popular desarrollada por Iron Software para crear PDFs, editar nuevos archivos y manipular PDFs existentes. Está diseñado para ser compatible con una amplia gama de lenguajes JVM, incluyendo Java, Scala y Kotlin, y puede ejecutarse en una amplia gama de plataformas, incluyendo Windows, Linux, Docker, Azure y AWS. IronPDF funciona con IDEs populares como IntelliJ IDEA y Eclipse.

Las principales características incluyen la capacidad de crear un archivo PDF desde HTML, HTTP, JavaScript, CSS, documentos XML y varios formatos de imagen. Además, IronPDF ofrece la capacidad de agregar encabezados y pies de página, crear tablas en PDF, añadir firmas digitales, adjuntos, implementar contraseñas y características de seguridad. Admite multihilo completo y mucho más!

Comencemos ahora con los ejemplos de código para crear documentos dinámicos.

En primer lugar, cree un nuevo proyecto de repositorio Maven.

Crear un nuevo proyecto Java

Para fines de demostración, este tutorial utilizará IntelliJ IDE. Puede utilizar un IDE de su elección. Los pasos para crear un nuevo proyecto Java pueden diferir de un IDE a otro. Siga los siguientes pasos:

  1. Inicie el IDE IntelliJ.

  2. Seleccione Archivo > Nuevo > Proyecto.

  3. Introduzca el título del proyecto.

  4. Elija una ubicación, un idioma, un sistema de compilación y un JDK.

  5. Haga clic en el botón Create.

    Cómo Generar Archivos PDF Desde Aplicaciones Java Dinámicamente, Figura 1: Crear un Proyecto

    Crear un proyecto

    Nombre su proyecto, elija una ubicación, un idioma, un sistema de compilación y un JDK, luego seleccione la opción de botón Crear. Se creará un nuevo proyecto.

    Ahora, instale IronPDF en esta aplicación Java de demostración.

Instalación de la biblioteca Java IronPDF

El siguiente paso es agregar una dependencia en el archivo pom.xml para instalar IronPDF. Agrega el siguiente código fuente XML en el archivo pom.xml como se muestra a continuación.

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>com.ironsoftware</artifactId>
   <version>2025.3.6</version>
</dependency>

Construye el proyecto ahora. La aplicación instalará automáticamente la biblioteca desde el repositorio Maven.

Empecemos con un ejemplo sencillo de conversión de una cadena HTML en un archivo PDF.

Crear documentos PDF

Considere el siguiente ejemplo:

public static void main(String[] args) throws IOException, PrinterException { 
    String htmlString = "<h1>My First PDF File<h1/><p> This is a sample PDF file</p>";
    //document class
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);

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

En la función anterior, el contenido HTML se asigna a una variable de cadena. El método [renderHtmlAsPdf](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String) toma una cadena como argumento y convierte el contenido HTML en una instancia de documento PDF. El método saveAs acepta la ruta de ubicación como entrada y guarda la instancia del archivo PDF en el directorio seleccionado.

A continuación se muestra el PDF generado por el código mencionado.

Cómo Generar Archivos PDF Desde Aplicaciones Java Dinámicamente, Figura 2: Salida

Salida

Generar un archivo PDF a partir de un archivo HTML

IronPDF también proporciona la asombrosa funcionalidad de generar archivos PDF a partir de archivos HTML.

A continuación se muestra el archivo HTML de muestra que se utilizará en el ejemplo.

Cómo generar archivos PDF desde aplicaciones Java dinámicamente, Figura 3: HTML renderizado con nuevo párrafo

HTML renderizado con nuevo párrafo

A continuación se muestra un fragmento de código de ejemplo para generar archivos PDF:

PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");
// Save the PdfDocument to a file
try {
    myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

El método renderHtmlFileAsPdf acepta la ruta al archivo HTML como argumento y produce un documento PDF a partir del archivo HTML. Este archivo PDF se guarda posteriormente utilizando el método saveAs en una unidad local.

A continuación se muestra el documento que ha generado este programa en formato PDF.

Cómo generar archivos PDF desde aplicaciones Java de manera dinámica, Figura 4: Salida PDF

Salida de PDF

El siguiente paso es utilizar un documento HTML de tamaño considerable que contenga JavaScript y CSS y comprobar la precisión y coherencia del diseño al convertir HTML a PDF.

Generar archivos PDF a partir de archivos HTML

Se utilizará el siguiente ejemplo de página HTML, que incluye imágenes, animaciones, estilos, jQuery y Bootstrap.

Cómo generar archivos PDF desde aplicaciones Java de manera dinámica, Figura 5: Página HTML de ejemplo

Página HTML de muestra

Cómo generar archivos PDF desde aplicaciones Java de forma dinámica, Figura 6: Ejemplo de HTML

Ejemplo de HTML

El documento HTML de muestra muestra que tiene un estilo extenso e incluye gráficos. Este archivo HTML se convertirá en un documento PDF y se evaluará la exactitud del contenido y el estilo.

Se utilizará la misma línea de código del ejemplo anterior.

PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");

// Save the PdfDocument to a file
try {
    myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

El ejemplo anterior ya incluye una explicación del código. El resto no ha cambiado;

Este es el archivo PDF de salida:

Cómo generar archivos PDF desde aplicaciones Java de manera dinámica, Figura 7: HTML a PDF

HTML a PDF

Utilizar IronPDF para crear archivos PDF es bastante sencillo. El formato y el contenido del documento fuente son coherentes.

También se puede utilizar una URL para crear un archivo PDF.

Convertir URL en documento PDF

El siguiente ejemplo de código generará un archivo PDF a partir de una URL.

PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PdfDocument to a file
try {
    myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

La función renderUrlAsPdf acepta una URL como argumento y la convierte en un documento PDF. Este documento PDF se guarda posteriormente en una unidad local utilizando la función saveAs.

A continuación se muestra el PDF de salida:

Cómo Generar Archivos PDF Desde Aplicaciones Java Dinámicamente, Figura 8: Archivo PDF de Salida

Generar PDF

También es posible añadir una marca de agua, un encabezado, un pie de página, una firma digital, convertir archivos XML/páginas JSP y mucho más.

El siguiente paso es generar PDF protegidos por contraseña.

Generar un archivo PDF protegido con contraseña

El siguiente código de ejemplo muestra cómo añadir seguridad al archivo PDF generado.

PdfDocument myPdf = PdfDocument.fromFile(Paths.get("myPDf.pdf"));
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserEdits(PdfEditSecurity.NO_EDIT);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("123456");
securityOptions.setUserPassword("123412");

try {
    myPdf.saveAs(Paths.get("myNewPDF.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

El código anterior hace que el archivo PDF sea de sólo lectura, y no se permite la edición ni la alineación de párrafos. También se restringe la impresión del documento, lo que garantiza que no se pueda imprimir. También se ha establecido una contraseña. El archivo está ahora muy seguro. De este modo, pueden definirse distintos permisos de archivo y generarse resultados dinámicos mediante IronPDF.

Resumen

Este tutorial muestra cómo generar archivos PDF. Se ha creado un archivo PDF a partir de una cadena HTML, un archivo HTML y una URL, con ejemplos que van de lo sencillo a lo complejo. Existen muchas más funciones útiles, como añadir una marca de agua, un pie de página, un encabezado, un color de primer plano, combinar y dividir páginas, etc. No es posible abarcarlas todas aquí; visite la Documentación Oficial de IronPDF para una exploración más detallada.

IronPDF ha convertido la conversión de HTML a PDF en un juego de niños. HTML se convirtió en PDF con una sola línea de código. También se han añadido algunas medidas de seguridad al archivo PDF. Es más rápido, preciso y seguro. Cada PDF generado incluye la marca de agua IronPDF. Esto se debe a que se está utilizando una versión de desarrollo gratuita con permisos limitados, no la licencia comercial. Se puede eliminar adquiriendo una versión de prueba gratuita o una licencia completa según sea necesario.

Jordi Bardia
Ingeniero de software
Jordi es más competente en Python, C# y C++, cuando no está aprovechando sus habilidades en Iron Software; está programando juegos. Compartiendo responsabilidades en las pruebas de productos, el desarrollo de productos y la investigación, Jordi añade un inmenso valor a la mejora continua de los productos. La variada experiencia le mantiene desafiado y comprometido, y dice que es uno de sus aspectos favoritos de trabajar con Iron Software. Jordi creció en Miami, Florida, y estudió Informática y Estadística en la Universidad de Florida.
< ANTERIOR
Cómo escribir un archivo PDF en Java
SIGUIENTE >
Java PDF Converter (Tutorial de ejemplo de código)