Cómo crear archivos PDF en Java

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

Crear archivos PDF en Java es sencillo utilizando la biblioteca IronPDF , que convierte HTML a PDF con métodos como renderHtmlAsPdf() para cadenas HTML, renderHtmlFileAsPdf() para archivos HTML y renderUrlAsPdf() para páginas web.

Inicio rápido: crea tu primer PDF en Java

  1. Añada la dependencia IronPDF a su pom.xml:

    <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
  2. Importe las clases IronPDF:

    import com.ironsoftware.ironpdf.*;
    import com.ironsoftware.ironpdf.*;
    JAVA
  3. Crear PDF a partir de HTML: ```java :title=Inicio rápido PdfDocument pdf = PdfDocument.renderHtmlAsPdf(""); pdf.saveAs(Paths.get("salida.pdf"));

Crear archivos PDF mediante programación en Java permite la generación automática de documentos para facturas, informes y otros documentos empresariales bajo demanda.

Esta guía cubre el uso de IronPDF para crear archivos PDF mediante programación en aplicaciones Java.

¿Qué es IronPDF Java PDF Library?

IronPDF es una biblioteca Java para crear documentos PDF desde HTML. Proporciona funciones para crear y personalizar PDFs, incluyendo:

  1. Añadir texto, imágenes y otros tipos de contenido
  2. Elección de fuentes, colores y control del diseño y el formato

IronPDF se basa en .NET Framework, lo que permite su uso tanto en aplicaciones .NET como Java. La biblioteca admite funciones avanzadas como marcas de agua personalizadas, compresión de PDF y creación de formularios.

IronPDF también se encarga de tareas relacionadas con PDF, como la conversión de formatos de archivo, la extracción de texto y datos, y el cifrado de contraseñas. Puede fusionar varios PDF o dividirlos según sea necesario.

¿Cómo crear documentos PDF en una aplicación Java?

¿Qué requisitos previos necesito?

Para utilizar IronPDF en un proyecto Maven, asegúrese de que estos requisitos previos están instalados:

  1. Java Development Kit (JDK): Necesario para compilar y ejecutar aplicaciones Java. Download from Oracle website.
  2. Maven: Necesario para descargar las bibliotecas del proyecto. Descargar desde sitio web de Apache Maven.
  3. Librería IronPDF: Añadir al proyecto Maven como dependencia en pom.xml:
<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

Para proyectos Gradle, añada IronPDF mediante:

implementation 'com.ironsoftware:ironpdf:1.0.0'

¿Qué pasos debo seguir antes de escribir código?

En primer lugar, añada esta sentencia import a su archivo fuente Java:

import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.*;
JAVA

Para funcionalidades específicas, importe clases adicionales:

import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.security.SecurityManager;
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.security.SecurityManager;
JAVA

A continuación, configure IronPDF con una clave de licencia válida en el método main:

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

Nota: Las claves de licencia eliminan las marcas de agua. Comprar una clave de licencia o Obtener una prueba gratuita. Sin licencia, los PDF se generan con marcas de agua. Consulte utilización de claves de licencia para obtener más detalles.

¿Cómo crear archivos PDF a partir de una cadena HTML en Java?

Utilice renderHtmlAsPdf() para convertir cadenas HTML a PDF. Este método es compatible con HTML5, CSS3 y JavaScript.

Pase una cadena HTML a renderHtmlAsPdf. IronPDF lo convierte en una instancia 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

Esto crea "html.pdf" que contiene el contenido HTML.

Incluye HTML complejo con estilo CSS:

// HTML with CSS styling
String styledHtml = """
    <!DOCTYPE html>
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; }
            h1 { color: #2563eb; }
            .content { margin: 20px; padding: 15px; background-color: #f3f4f6; }
        </style>
    </head>
    <body>
        <div class="content">
            <h1>Styled PDF Document</h1>
            <p>This PDF was created from HTML with custom CSS styling.</p>
        </div>
    </body>
    </html>
    """;

PdfDocument styledPdf = PdfDocument.renderHtmlAsPdf(styledHtml);
styledPdf.saveAs(Paths.get("styled.pdf"));
// HTML with CSS styling
String styledHtml = """
    <!DOCTYPE html>
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; }
            h1 { color: #2563eb; }
            .content { margin: 20px; padding: 15px; background-color: #f3f4f6; }
        </style>
    </head>
    <body>
        <div class="content">
            <h1>Styled PDF Document</h1>
            <p>This PDF was created from HTML with custom CSS styling.</p>
        </div>
    </body>
    </html>
    """;

PdfDocument styledPdf = PdfDocument.renderHtmlAsPdf(styledHtml);
styledPdf.saveAs(Paths.get("styled.pdf"));
JAVA

Para conversiones avanzadas, consulte el tutorial HTML a PDF.

¿Cómo crear archivos PDF a partir de páginas HTML en Java?

Crear PDF a partir de archivos HTML locales:

// 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

El método renderHtmlFileAsPdf acepta una ruta de archivo como un objeto String o Path.

IronPDF renderiza los elementos HTML con CSS y JavaScript exactamente como lo hacen los navegadores. Esto incluye archivos CSS externos, imágenes y bibliotecas JavaScript. Consulte Archivos HTML a PDF para obtener más información.

Utilice saveAs para guardar el PDF en una ubicación específica.

¿Cómo crear archivos PDF a partir de una URL en Java?

Utilice renderUrlAsPdf() para crear archivos PDF a partir de páginas web:

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

Para sitios web autenticados, proporcione credenciales:

// Create render options with login credentials
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
renderOptions.setAuthUsername("username");
renderOptions.setAuthPassword("password");

// Convert secured URL to PDF
PdfDocument securedPdf = PdfDocument.renderUrlAsPdf("https://secure-site.com", renderOptions);
securedPdf.saveAs(Paths.get("secured.pdf"));
// Create render options with login credentials
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
renderOptions.setAuthUsername("username");
renderOptions.setAuthPassword("password");

// Convert secured URL to PDF
PdfDocument securedPdf = PdfDocument.renderUrlAsPdf("https://secure-site.com", renderOptions);
securedPdf.saveAs(Paths.get("secured.pdf"));
JAVA

Consulte Ejemplo de código de URL a PDF para obtener más detalles. Para autenticaciones complejas, véase Inicios de sesión en sitios web y sistemas.

¿Cómo formatear archivos PDF?

Utilice ChromePdfRenderOptions para especificar el formato PDF. Configure la orientación, el tamaño y los márgenes de la página. Pase las opciones como segundo argumento a los métodos de traducción:

// Create render options with custom settings
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();

// Set page orientation to landscape
renderOptions.setPaperOrientation(PaperOrientation.LANDSCAPE);

// Set custom paper size (Letter size)
renderOptions.setPaperSize(PaperSize.LETTER);

// Set custom margins (in millimeters)
renderOptions.setMarginTop(10);
renderOptions.setMarginRight(10);
renderOptions.setMarginBottom(10);
renderOptions.setMarginLeft(10);

// Enable background images and colors
renderOptions.setPrintHtmlBackgrounds(true);

// Apply options to PDF generation
PdfDocument formattedPdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted PDF</h1>", renderOptions);
formattedPdf.saveAs(Paths.get("formatted.pdf"));
// Create render options with custom settings
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();

// Set page orientation to landscape
renderOptions.setPaperOrientation(PaperOrientation.LANDSCAPE);

// Set custom paper size (Letter size)
renderOptions.setPaperSize(PaperSize.LETTER);

// Set custom margins (in millimeters)
renderOptions.setMarginTop(10);
renderOptions.setMarginRight(10);
renderOptions.setMarginBottom(10);
renderOptions.setMarginLeft(10);

// Enable background images and colors
renderOptions.setPrintHtmlBackgrounds(true);

// Apply options to PDF generation
PdfDocument formattedPdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted PDF</h1>", renderOptions);
formattedPdf.saveAs(Paths.get("formatted.pdf"));
JAVA

Consulte Configuración de generación de PDF para obtener más opciones. Explore tamaños de papel personalizados y margenes personalizados.

¿Cómo proteger archivos PDF con contraseña?

Utilice SecurityOptions para proteger con contraseña los archivos PDF:

// 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

Establecer opciones de seguridad avanzadas:

// Advanced security settings
SecurityOptions advancedSecurity = new SecurityOptions();
advancedSecurity.setUserPassword("user123");
advancedSecurity.setOwnerPassword("owner456");

// Restrict permissions
advancedSecurity.setAllowPrint(false);
advancedSecurity.setAllowCopy(false);
advancedSecurity.setAllowEditContent(false);
advancedSecurity.setAllowEditAnnotations(false);
// Advanced security settings
SecurityOptions advancedSecurity = new SecurityOptions();
advancedSecurity.setUserPassword("user123");
advancedSecurity.setOwnerPassword("owner456");

// Restrict permissions
advancedSecurity.setAllowPrint(false);
advancedSecurity.setAllowCopy(false);
advancedSecurity.setAllowEditContent(false);
advancedSecurity.setAllowEditAnnotations(false);
JAVA

Aplicar seguridad a través del PDF SecurityManager:

// 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

Al abrir el PDF aparece una solicitud de contraseña:

Password entry dialog for protected PDF with input field and Open file/Cancel buttons

Tras introducir la contraseña correcta, el PDF se abre con normalidad.

IronPDF .NET homepage showing HTML to PDF code examples and download options

Consulte Ejemplo de seguridad y metadatos para obtener más información.

¿Qué es el código fuente completo?

Código 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 {
        // 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 imágenes y texto sin pérdida de formato. Los botones se pueden pulsar y los cuadros de texto se pueden editar. La biblioteca permite añadir firmas, representar gráficos e imprimir PDFs.

¿Cuáles son los puntos clave?

Esta guía muestra la creación de archivos PDF en Java utilizando IronPDF. IronPDF proporciona una API sencilla para generar archivos PDF a partir de archivos HTML, documentos XML u otras fuentes.

Genere informes, facturas o cualquier tipo de documento rápidamente. Despliegue en AWS, Azure, o Google Cloud.

IronPDF requiere una licencia comercial a partir de $799. Obtenga una versión de prueba gratuita para realizar pruebas de producción.

Descargue la biblioteca Java de IronPDF.

Preguntas Frecuentes

¿Cuál es la forma más sencilla de crear un archivo PDF en Java?

La forma más sencilla de crear un PDF en Java es utilizar el método renderHtmlAsPdf() de IronPDF. Simplemente pase una cadena HTML a este método y guarde el resultado: PdfDocument pdf = PdfDocument.renderHtmlAsPdf("¡Hola Mundo!"); pdf.saveAs(Paths.get("output.pdf"));

¿Cómo añado IronPDF a mi proyecto Maven?

Añada IronPDF a su proyecto Maven incluyendo esta dependencia en su archivo pom.xml: com.ironsoftwareironpdf1.0.0

¿Puedo convertir archivos HTML existentes a formato PDF?

Sí, IronPDF proporciona el método renderHtmlFileAsPdf() específicamente para convertir archivos HTML a PDF. Este método lee un archivo HTML de su sistema de archivos y lo convierte en un documento PDF.

¿Cómo puedo generar PDF a partir de páginas web en Java?

IronPDF ofrece el método renderUrlAsPdf() para convertir páginas web directamente a PDF. Simplemente proporcione la URL de la página web que desea convertir, e IronPDF la renderizará como un documento PDF.

¿Qué tipos de documentos empresariales puedo crear mediante programación?

IronPDF permite la generación automatizada de diversos documentos empresariales, como facturas, informes, formularios y otros documentos bajo demanda. La biblioteca admite funciones avanzadas como marcas de agua personalizadas, compresión de PDF y creación de formularios.

¿Es posible crear PDF protegidos por contraseña?

Sí, IronPDF admite el cifrado de archivos PDF con contraseña. Puede exportar archivos PDF protegidos con contraseña al directorio que desee, garantizando la seguridad de los documentos para la información empresarial confidencial.

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

Para utilizar IronPDF en Java, necesita el kit de desarrollo de Java (JDK) para compilar y ejecutar aplicaciones, Maven o Gradle para la gestión de dependencias y la biblioteca IronPDF añadida como dependencia a su proyecto.

¿Puedo manipular PDF existentes, no sólo crear nuevos?

Sí, IronPDF se encarga de varias tareas de manipulación de PDF más allá de la creación. Puede fusionar varios PDF, dividirlos, extraer texto y datos, y realizar conversiones de formato de archivo utilizando las completas funciones de la biblioteca.

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?
Versión: 2026.3 recién lanzado
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida?
ejecutar una muestra Mira cómo tu HTML se convierte en PDF.