Cómo crear archivos PDF en Java

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 mediante programación 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. **Kit de desarrollo Java(JDK)Se necesita un JDK para compilar y ejecutar aplicaciones Java. Descargue el JDK de la página Sitio web de Oracle.
  2. Maven: Maven es necesario para descargar las librerías del proyecto desde el Repositorio Central. Descargue Maven de la páginaSitio web de Apache Maven.
  3. Biblioteca IronPDF: La biblioteca IronPDF puede añadirse a un proyecto Maven como dependencia. Incluir su artefacto de dependencia de Maven(junto con la dependencia opcional 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>2024.9.1</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 que cualquier otra línea de código).

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

Nota: Se necesitan claves de licencia para crear PDF sin marcas de agua. Comprar una clave de licencia o obtener una prueba gratuita clave de licencia. De lo contrario, continúe con el siguiente paso(sin añadir la línea anterior) para generar nuevos documentos PDF gratis, con marcas de agua.

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

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

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

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

A continuación, utilice 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 un Camino) 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, invoque el método saveAs con una ruta de archivo de destino para guardar el archivo PDF en una ubicación específica, tal y 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

Encontrará más información sobre la conversión de páginas Web a PDF en la páginaEjemplo de código de URL a PDF página.

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 la configuración deseada. ConsulteEjemplo de código para 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 por contraseña. En primer lugar, crear una instancia de SecurityOptions, a continuación, y utilizar el método setUserPassword para establecer una contraseña.

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

La configuración de seguridad se aplica a los PDF 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 PDF - Figura 1

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

Java Crear PDF - Figura 2

Más información sobre opciones adicionales de seguridad y metadatosaquí.

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 unlicencia comercial que parte de $749. Puede obtener un prueba gratuita para probarlo en producción.

Descargar el producto de software.