Cómo crear archivos PDF en Java

This article was translated from English: Does it need improvement?
Translated
View the article in English

Crear PDFs programáticamente usando Java permite a los desarrolladores automatizar la creación de documentos PDF como parte de sus aplicaciones. Esto puede ser útil en varias situaciones, como generar facturas, informes u otros tipos de documentos PDF nuevos bajo demanda.

Esta guía abarca el uso de IronPDF en la creación de archivos PDF programáticamente en aplicaciones Java.

Librería PDF Java IronPDF

IronPDF es una biblioteca Java para crear documentos PDF desde HTML. Está diseñado para ser fácil de usar. Proporciona funciones para crear y personalizar PDFs, incluyendo:

  1. La capacidad de agregar texto, imágenes y otros tipos de contenido
  2. La capacidad de elegir fuentes y colores, y controlar el diseño y formato del documento

IronPDF está construido sobre la .NET Framework, lo que permite su uso tanto en aplicaciones .NET como Java. Esto lo convierte en una herramienta versátil para crear PDFs en diversos contextos.

Además de sus capacidades principales de generación de PDF, IronPDF también admite otras tareas relacionadas con PDF. Estas incluyen la conversión entre otros formatos de archivo, extracción de texto y datos de PDFs, y proteger PDFs con encriptación de contraseña.

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

Prerrequisitos

Para usar IronPDF y crear PDFs en un proyecto Maven, asegúrese de que la computadora tenga instalado el siguiente software necesario:

  1. Kit de Desarrollo de Java (JDK): Se requiere un JDK para compilar y ejecutar aplicaciones Java. Please download the JDK from the Oracle website.
  2. Maven: Maven es requerido para descargar bibliotecas de proyecto desde el Repositorio Central. Descargue Maven desde el sitio web de Apache Maven.
  3. Biblioteca IronPDF: La biblioteca IronPDF se puede agregar a un proyecto Maven como una dependencia. Incluya su artefacto de dependencia de Maven (junto con la dependencia opcional slf4j) en el archivo pom.xml del proyecto Maven como se muestra a continuación:
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>1.0.0</version>
</dependency>
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>1.0.0</version>
</dependency>
XML

Pasos importantes antes de escribir código

Primero, agregue la declaración a continuación a la parte superior del archivo fuente de Java en el que se escribirá el código para importar las clases de la biblioteca IronPDF requeridas en el ámbito del proyecto.

import com.ironsoftware.ironpdf.*;
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");
License.setLicenseKey("Your license key");
JAVA

Nota: Se requieren claves de licencia 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

Use 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.

// HTML content to be converted to PDF
String htmlString = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";

// Convert HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlString);

// Save the PDF document to a file
pdf.saveAs(Paths.get("html.pdf"));
// HTML content to be converted to PDF
String htmlString = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";

// Convert HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlString);

// Save the PDF document to a file
pdf.saveAs(Paths.get("html.pdf"));
JAVA

El código anterior crea un archivo llamado "html.pdf" que contiene el contenido de la cadena HTML.

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

Use el ejemplo a continuación para crear un archivo PDF desde un archivo HTML almacenado localmente en Java:

// Convert HTML file to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");

// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
// Convert HTML file to PDF
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 un camino) que contiene la ruta al archivo HTML en el sistema de archivos.

IronPDF representa elementos HTML en el archivo HTML, junto con cualquier contenido CSS y JavaScript que los influya, de la misma manera que lo haría un navegador web.

A continuación, invoque 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 a partir de una 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 muestra a continuación:

// Convert a URL to PDF
PdfDocument urlToPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");

// Save the PdfDocument to a file
urlToPdf.saveAs(Paths.get("urlToPdf.pdf"));
// Convert a URL to PDF
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 PDFs está disponible en la página Ejemplo de código de URL a PDF.

Formato de los archivos PDF

Especifique el formato deseado para el nuevo archivo PDF utilizando la clase ChromePdfRenderOptions. Las configuraciones que se pueden ajustar incluyen orientación de página, tamaño de página y tamaño de margen, solo por nombrar algunas. Pase una instancia de la clase ChromePdfRenderOptions como el segundo argumento al método renderUrlAsPdf para generar documentos PDF con las configuraciones deseadas. Consulte este Ejemplo de código de configuraciones de generación de PDF para más información sobre cómo usar la clase ChromePdfRenderOptions.

Proteger archivos PDF con contraseña

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

// Create security options and set user password
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");
// Create security options and set user password
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");
JAVA

Las configuraciones de seguridad se aplican a los PDFs a través de su SecurityManager. Los siguientes fragmentos de código aplican estas configuraciones al documento PDF que creamos en el ejemplo de URL a PDF:

// Apply security options to the PDF
SecurityManager securityManager = urlToPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);

// Save the password-protected PDF document
urlToPdf.saveAs("protected.pdf");
// Apply security options to the PDF
SecurityManager securityManager = urlToPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);

// Save the password-protected PDF document
urlToPdf.saveAs("protected.pdf");
JAVA

El archivo PDF ahora está protegido por contraseña. Abrir el archivo PDF hará que aparezca un pop-up de contraseña:

Java Create PDFs - Figure 1

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

Java Create PDFs - Figure 2

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

Código fuente completo

El archivo fuente completo de este tutorial está incluido a continuación:

// 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 {
        // Apply your license key
        License.setLicenseKey("Your License Key");

        // Convert HTML string to a PDF and save it
        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"));

        // Convert HTML file to a PDF and save it
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
        myPdf.saveAs(Paths.get("html_file_saved.pdf"));

        // Convert URL to a PDF and save it
        PdfDocument urlToPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
        urlToPdf.saveAs(Paths.get("urlToPdf.pdf"));

        // Password-protect the PDF file
        SecurityOptions securityOptions = new SecurityOptions();
        securityOptions.setUserPassword("shareable");
        SecurityManager securityManager = urlToPdf.getSecurity();
        securityManager.setSecurityOptions(securityOptions);
        urlToPdf.saveAs(Paths.get("protected.pdf"));
    }
}
// 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 {
        // Apply your license key
        License.setLicenseKey("Your License Key");

        // Convert HTML string to a PDF and save it
        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"));

        // Convert HTML file to a PDF and save it
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
        myPdf.saveAs(Paths.get("html_file_saved.pdf"));

        // Convert URL to a PDF and save it
        PdfDocument urlToPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
        urlToPdf.saveAs(Paths.get("urlToPdf.pdf"));

        // Password-protect the PDF 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 texto sin perder ningún formato. Los botones son clicables y las cajas de texto son editables en el archivo PDF.

Resumen

En esta guía, vimos cómo Java crea PDFs usando IronPDF. IronPDF es una poderosa biblioteca que permite a los desarrolladores generar y manipular archivos PDF en Java fácilmente.

También proporciona una API simple e intuitiva que facilita la creación de PDFs desde archivos HTML, documentos XML u otras fuentes. Ya sea que necesite generar informes, facturas o cualquier otro tipo de documento, IronPDF puede ayudarlo a realizar el trabajo de forma rápida y fácil.

IronPDF no es una biblioteca Java de código abierto. Tiene una licencia comercial que comienza desde $799. Puede obtener una prueba gratuita para probarlo en producción.

Descargue la biblioteca Java de IronPDF.

Preguntas Frecuentes

¿Cómo creo archivos PDF en Java sin perder formato?

Puedes usar IronPDF para crear archivos PDF en Java sin perder formato utilizando métodos como renderHtmlAsPdf, renderHtmlFileAsPdf, y renderUrlAsPdf. Estos métodos ayudan a mantener el diseño y estilo original del contenido HTML que se está convirtiendo en PDF.

¿Qué funcionalidades ofrece IronPDF para la creación de PDF en Java?

IronPDF ofrece funcionalidades como agregar texto, imágenes y personalización de diseño en PDFs. Soporta la conversión de cadenas HTML, archivos y URLs a PDFs, así como proteger documentos con contraseña usando la clase SecurityOptions.

¿Cómo puedo convertir archivos HTML a PDF en Java?

Para convertir archivos HTML a PDF en Java, utiliza el método renderHtmlFileAsPdf de IronPDF. Este método lee un archivo HTML desde una ruta dada y lo convierte en un documento PDF, preservando el formato original.

¿Puedo generar PDFs desde una URL de una página web usando Java?

Sí, con IronPDF, puedes generar PDFs desde una URL de una página web usando el método renderUrlAsPdf. Simplemente proporciona la URL de la página web, y IronPDF la convertirá en un documento PDF.

¿Cómo aplico protección con contraseña a PDFs en Java?

Para aplicar protección con contraseña a PDFs en Java usando IronPDF, utiliza la clase SecurityOptions para establecer una contraseña de usuario. Estas opciones se aplican luego al SecurityManager del PDF antes de guardar el documento.

¿Cuáles son los pasos para integrar IronPDF con un proyecto Maven?

Para integrar IronPDF con un proyecto Maven, asegúrate de tener el Kit de Desarrollo de Java (JDK) y Maven instalados, luego añade la biblioteca de IronPDF como una dependencia en el archivo pom.xml de tu proyecto.

¿IronPDF for Java es de código abierto?

IronPDF for Java no es de código abierto; es una biblioteca comercial que requiere una licencia. Sin embargo, hay una prueba gratuita disponible para que los desarrolladores evalúen el software en sus proyectos.

¿Cómo pueden los desarrolladores automatizar la creación de documentos PDF en aplicaciones Java?

Los desarrolladores pueden automatizar la creación de documentos PDF en aplicaciones Java usando IronPDF. Permite generar documentos como facturas e informes a demanda, con total control sobre el formato y contenido.

¿Cuáles son los requisitos previos para usar IronPDF en Java?

Los requisitos previos para usar IronPDF en Java incluyen tener el Kit de Desarrollo de Java (JDK), Maven y la biblioteca de IronPDF instalada en tu entorno de desarrollo.

Darrius Serrant
Ingeniero de Software Full Stack (WebOps)

Darrius Serrant tiene una licenciatura en Ciencias de la Computación de la Universidad de Miami y trabaja como Ingeniero de Marketing WebOps Full Stack en Iron Software. Atraído por la programación desde joven, vio la computación como algo misterioso y accesible, convirtiéndolo en el ...

Leer más
¿Listo para empezar?
Version: 2025.11 recién lanzado