USO DE IRONPDF PARA JAVA

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

Actualizado 28 de marzo, 2023
Compartir:

En este tutorial, aprenderemos a crear archivos PDF de forma dinámica en aplicaciones Java. Veremos los ejemplos de código para crear páginas PDF a partir de páginas de texto, URL y HTML. También aprenderemos a crear un archivo PDF protegido con contraseña a partir de una nueva instancia de documento.

Java es un lenguaje de programación muy popular para aplicaciones empresariales y a gran escala. El formato PDF, acrónimo de Portable Document Format (Formato de Documento Portátil), ofrece una forma fácil y fiable de presentar e intercambiar documentos, independientemente del software, hardware o sistema operativo que utilice cada usuario. Como resultado, PDF es un formato popular para generar documentos/formularios PDF en aplicaciones de software. Por lo tanto, es necesario que un desarrollador de aplicaciones Java sepa cómo generar documentos dinámicamente.

Necesitamos una biblioteca Java de terceros para crear un archivo PDF. Hay numerosas bibliotecas disponibles, cada una con su propio conjunto de ventajas e inconvenientes, como la biblioteca de código abierto iText, IronPDF, la biblioteca PDFBox, etc. Algunos son de pago, otros no ofrecen suficiente funcionalidad, otros no proporcionan precisión y otros tienen problemas de rendimiento.

Tthe IronPDF es ideal para este propósito porque es libre para el desarrollo, más segura, proporciona todas las funcionalidades en una sola biblioteca con una precisión del 100%, y tiene un rendimiento excepcional.

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

IronPDF

IronPDF es la biblioteca Java PDF más popular desarrollada por Iron Software para crear PDF, editar nuevos archivos y manipular los PDF 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 JetBrains, IntelliJ, IDEA y Eclipse.

Entre sus principales características se incluye la capacidad de crear un archivo PDF a partir de documentos HTML, HTTP, JavaScript, CSS, XML y varios formatos de imagen. Además, podemos incluir encabezados y pies de página, crear tablas, firmas digitales, archivos adjuntos, contraseñas y seguridad. Soporta multihilo completo y mucho más!

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

En primer lugar, tenemos que crear un nuevo proyecto de repositorio Maven.

Crear un nuevo proyecto Java

Voy a utilizar IntelliJ IDE para este tutorial. Puede utilizar cualquiera de sus opciones. 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. Pulse el botón Crear.
    Crear un proyecto

    Crear un proyecto

    Nombra tu proyecto, elige una ubicación, un lenguaje, un sistema de compilación y un JDK. Seleccione la opción Crear botón. Se creará un nuevo proyecto.

Ahora, necesitamos instalar IronPDF en nuestra aplicación Java.

Instalar la biblioteca Java IronPDF

Necesitamos añadir una dependencia en el archivo pom.xml para instalar IronPDF. Añada 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>2024.3.1</version>
</dependency>

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

Empecemos con el sencillo ejemplo de convertir 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 sample PDF file</p>";
    //clase de documento
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);

    //  Guardar el documento Pdf en un archivo
    try {
        myPdf.saveAs(Paths.get("myPDF.pdf") );
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

En la función anterior, hemos asignado el contenido HTML a una variable de cadena. El método renderHtmlAsPdf 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 que hemos especificado.

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

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.

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");
//  Guardar el documento Pdf en un archivo
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 después con el método saveAs en una unidad local.

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

Salida PDF

Salida PDF

Ahora utilizaremos un documento HTML de tamaño considerable que contiene JavaScript y CSS. Comprobaremos la precisión y coherencia del diseño al convertir HTML a PDF.

Generar archivos PDF a partir de archivos HTML

Utilizaremos la siguiente página HTML de ejemplo, que tiene imágenes, animación, estilo, jQuery y Bootstrap.

Ejemplo de página HTML

Ejemplo de página HTML

HTML example

Ejemplo de HTML

Podemos observar que el documento HTML de muestra 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");

//  Guardar el documento Pdf en un archivo
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; sólo hemos modificado la ruta.

Este es nuestro archivo PDF de salida:

HTML a PDF

HTML a PDF

Podemos ver que 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");
//  Guardar el documento Pdf en un archivo
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 mediante la función saveAs.

A continuación se muestra el PDF de salida:

Salida PDF

Salida PDF

También podemos añadir marca de agua, encabezado, pie de página, firma digital, convertir archivos XML / página JSP y muchos más.

También podemos generar PDF protegidos por contraseña.

Generar un archivo PDF protegido con contraseña

El siguiente código de muestra muestra el ejemplo de añadir seguridad a nuestro 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 hará que el archivo PDF sea de sólo lectura y no permitirá ninguna edición ni alineación de párrafos. También restringimos la impresión de este documento de forma que no se puede imprimir. También hemos establecido la contraseña. Ahora, este archivo es muy seguro. De este modo, IronPDF nos permite definir diferentes permisos de archivo y generar una salida dinámica.

Resumen

En este tutorial, hemos aprendido a generar archivos PDF. Creamos un archivo PDF a partir de una cadena HTML, un archivo HTML y una URL. Utilizamos ejemplos que van de lo simple a lo complejo. Hay muchas más funciones útiles disponibles, como añadir una marca de agua, pie de página, cabecera, color de primer plano, combinar y dividir páginas, etc. No podemos abarcarlas todas aquí. Puede visitar el documentación oficial para seguir explorando.

IronPDF convirtió la conversión de HTML a PDF en un juego de niños. Convertimos HTML a PDF con una sola línea de código. También hemos añadido algunas medidas de seguridad a nuestro archivo PDF. Es más rápido, más preciso y más seguro. Cada PDF generado incluye la marca de agua IronPDF. Esto se debe a que estamos utilizando una versión de desarrollo gratuita con permisos limitados, no la licencia comercial. Podemos deshacernos de él comprando una versión de prueba gratuita o un licencia según sea necesario.

< ANTERIOR
Cómo escribir un archivo PDF en Java
SIGUIENTE >
Java PDF Converter (Tutorial de ejemplo de código)

¿Listo para empezar? Versión: 2024.3 recién publicada

Descarga gratuita de Maven Ver licencias >