Cómo crear archivos PDF en Java

Chaknith Bin
Chaknith Bin
28 de agosto, 2018
Actualizado 20 de octubre, 2024
Compartir:
This article was translated from English: Does it need improvement?
Translated
View the article in English

Crear PDF mediante programación utilizando Java permite a los desarrolladores automatizar la creación de documentos PDF como parte de sus aplicaciones. Esto puede ser útil en diversas situaciones, como la generación de facturas, informes u otros tipos de nuevos documentos PDF bajo demanda.

Esta guía práctica cubre el uso de IronPDF para crear archivos PDF de manera programática en aplicaciones Java.

Biblioteca PDF Java IronPDF

IronPDF es una biblioteca Java para crear documentos PDF a partir de HTML. Está diseñado para ser fácil de usar. Ofrece funciones para crear y personalizar PDF, entre las que se incluyen:

  1. Posibilidad de añadir texto, imágenes y otros tipos de contenido.

  2. La posibilidad de elegir fuentes y colores, y controlar el diseño y el formato del documento.

    IronPDF se basa en .NET Framework, lo que permite utilizarlo tanto en aplicaciones .NET como Java. Esto la convierte en una herramienta versátil para crear PDF en diversos contextos.

    Además de sus funciones básicas de generación de PDF, IronPDF también admite otras tareas relacionadas con PDF. Entre ellas se incluyen la conversión entre otros formatos de archivo, la extracción de texto y datos de PDF, y la protección de PDF con cifrado de contraseñas.

Pasos para crear un documento PDF en una aplicación Java

Requisitos previos

Para utilizar IronPDF para crear archivos PDF en un proyecto Maven, asegúrese de que el ordenador tiene instalado el siguiente software de requisitos previos:

  1. Java Development Kit (JDK): Se requiere un JDK para compilar y ejecutar aplicaciones Java. Por favor, descargue el JDK desde el [sitio web de Oracle](https://www.oracle.com/java/technologies/javase-downloads.html" target="_blank" rel="nofollow noopener noreferrer).

  2. Maven: Maven es necesario para descargar bibliotecas de proyectos del Repositorio Central. Descarga Maven desde el sitio web de Apache Maven.

  3. Biblioteca IronPDF: La biblioteca IronPDF se puede agregar a un proyecto Maven como una dependencia. Incluye su dependencia de artefacto Maven (junto con la dependencia opcional de slf4j) en el archivo pom.xml de un proyecto Maven como se muestra a continuación:
<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>com.ironsoftware</artifactId>
   <version>2025.3.6</version>
</dependency>

Pasos importantes antes de escribir código

En primer lugar, añada la siguiente declaración al principio del archivo fuente Java en el que se escribirá el código para importar las clases de la biblioteca IronPDF necesarias en el ámbito del proyecto.

import com.ironsoftware.ironpdf.*;
JAVA

A continuación, configure IronPDF con una clave de licencia válida invocando el método setLicenseKey en el método main (antes de cualquier otra línea de código).

License.setLicenseKey("Your license key");
JAVA

Nota: Las claves de licencia son necesarias para crear PDFs sin marcas de agua. Comprar una clave de licencia o Obtener una clave de licencia de prueba gratuita. De lo contrario, continúe con el siguiente paso (sin agregar la línea anterior) para generar nuevos documentos PDF de forma gratuita, con marcas de agua.

Crear un archivo PDF a partir de una cadena HTML en Java

Utilice el método renderHtmlAsPdf() para convertir una cadena HTML en un nuevo documento PDF.

En el parámetro del método renderHtmlAsPdf, pase una cadena de marcado HTML. IronPDF convertirá el contenido HTML en una nueva instancia de PdfDocument.

String htmlString = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlString);
JAVA

Después, utiliza el método saveAs para guardar el PDF en una ruta del sistema local:

pdf.saveAs(Paths.get("html.pdf"));
JAVA

La línea de código anterior crea un archivo llamado "html.pdf" con el contenido de la cadena HTML.

Crear archivos PDF a partir de páginas HTML en Java

Utilice el siguiente ejemplo para crear un archivo PDF a partir de un archivo HTML almacenado localmente en Java:

PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
JAVA

Como se muestra arriba, el método renderHtmlFileAsPdf crea archivos PDF a partir de archivos HTML. El método acepta una cadena (o una ruta) que contiene la ruta al archivo HTML en el sistema de archivos.

IronPDF renderiza los elementos HTML del archivo HTML, junto con cualquier contenido CSS y JavaScript que influya en ellos, del mismo modo que lo haría un navegador web.

A continuación, invoca el método saveAs con una ruta de archivo de destino para guardar el archivo PDF en una ubicación específica, tal como se hizo en el ejemplo anterior.

Crear archivos PDF desde URL en Java

El método renderUrlAsPdf crea archivos PDF a partir de páginas web referenciadas por URL. Pase la URL de una página web como argumento al método, como se indica a continuación:

PdfDocument urlToPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Save the PdfDocument to a file
urlToPdf.saveAs(Paths.get("urlToPdf.pdf"));
JAVA

Más información sobre la conversión de páginas web a PDF está disponible en la página de Ejemplo de Código de URL a PDF.

Formatear archivos PDF

Especifique el formato deseado para el nuevo archivo PDF utilizando la clase ChromePdfRenderOptions. Los ajustes configurables incluyen la orientación de la página, el tamaño de la página y el tamaño del margen, por nombrar sólo algunos. Pase una instancia de la clase ChromePdfRenderOptions como segundo argumento al método renderUrlAsPdf para generar documentos PDF con las configuraciones deseadas. Consulte este Ejemplo de Código de Configuración de Generación de PDF para obtener más información sobre cómo utilizar la clase ChromePdfRenderOptions.

Proteger archivos PDF con contraseña

IronPDF utiliza la clase SecurityOptions para generar archivos PDF protegidos con contraseña. Primero, crea una instancia de SecurityOptions, luego utiliza el método setUserPassword para establecer una contraseña.

SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");
JAVA

Las configuraciones de seguridad se aplican a los PDFs a través de su SecurityManager. El siguiente fragmento de código aplica esta configuración al documento PDF que creamos en el ejemplo de URL a PDF:

SecurityManager securityManager =  urlToPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
urlToPdf.saveAs("protected.pdf");
JAVA

El archivo PDF está ahora protegido por contraseña. Al abrir el archivo PDF aparecerá una ventana emergente con la contraseña:

Java Crear PDFs - Figura 1

Después de introducir la contraseña correcta, el archivo PDF se abrirá como se esperaba.

Java Crear PDFs - Figura 2

Lea más información sobre configuraciones adicionales de seguridad y metadatos en la Página de Ejemplo de Seguridad y Metadatos.

Código fuente completo

A continuación se incluye el archivo fuente completo de este tutorial:

//Import statement for IronPDF Java  
import com.ironsoftware.ironpdf.*;
import java.io.IOException;  
import java.nio.file.Paths; 

public class App 
{
    public static void main( String [] args ) throws IOException, PrinterException
    {
     // Apply your license key
        License.setLicenseKey("Your License Key");     
        String htmlString = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlString);
        pdf.saveAs(Paths.get("html.pdf"));
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.pdf");
        myPdf.saveAs(Paths.get("html_file_saved.pdf"));
        PdfDocument urlToPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
        // Save the PdfDocument to a file
        urlToPdf.saveAs(Paths.get("urlToPdf.pdf"));

        // Password-protect the URLToPdf File.
        SecurityOptions securityOptions = new SecurityOptions();
        securityOptions.setUserPassword("shareable");
        SecurityManager securityManager =  urlToPdf.getSecurity();
        securityManager.setSecurityOptions(securityOptions);       
        urlToPdf.saveAs(Paths.get("protected.pdf"));
    }
}
JAVA

IronPDF renderiza todas las imágenes y textos sin perder ningún formato. En el archivo PDF se puede hacer clic en los botones y editar los cuadros de texto.

Resumen

En esta guía práctica, hemos visto cómo Java crea archivos PDF utilizando IronPDF. IronPDF es una potente biblioteca que permite a los desarrolladores generar y manipular fácilmente archivos PDF en Java.

También proporciona una API sencilla e intuitiva que facilita la creación de PDF a partir de archivos HTML, documentos XML u otras fuentes. Tanto si necesita generar informes, facturas o cualquier otro tipo de documento, IronPDF puede ayudarle a realizar el trabajo de forma rápida y sencilla.

IronPDF no es una biblioteca Java de código abierto. Tiene una licencia comercial que comienza desde $749. Puedes obtener una Prueba Gratis para probarlo en producción.

Descargar la biblioteca de Java IronPDF.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.