Saltar al pie de página
USANDO IRONPDF PARA JAVA

Generación de Bibliotecas de PDF en Java (Ejemplo Completo de Código)

Este artículo explorará la biblioteca IronPDF, una gran herramienta para crear PDF en Java.

IronPDF: Java PDF Library

IronPDF es una popular biblioteca Java para PDF que permite a los desarrolladores crear fácilmente documentos PDF, formularios PDF, firmar digitalmente archivos PDF y más. Con IronPDF, puedes usar documentos PDF existentes como plantillas para generar nuevos archivos PDF, almacenar datos PDF en bases de datos para uso futuro, convertir PDFs a otros formatos como HTML e incluso combinar múltiples PDFs en uno solo.

IronPDF permite a los usuarios agregar anotaciones de texto a los PDFs para personalizar los archivos que crean. Además, con IronPDF, puedes incluir configuraciones de seguridad, tales como contraseñas o marcas de agua, dentro de tus PDFs. Ayuda a integrar funcionalidades de PDF en programas Java. IronPDF es una herramienta extremadamente versátil y poderosa para generar PDFs rápida y seguramente. Veamos cómo se puede usar IronPDF para crear archivos PDF.

Generar archivos PDF con IronPDF

IronPDF es una herramienta invaluable para crear archivos PDF. Tiene todas las características que necesitas para convertir rápidamente documentos, páginas web e imágenes en PDFs estables y seguros que pueden compartirse fácilmente. Instalemos IronPDF en este programa de demostración.

Instalación de la biblioteca Java PDF IronPDF

Para instalar IronPDF para Java en un proyecto Maven, puedes agregar las siguientes dependencias al archivo pom.xml de tu proyecto:

<dependencies>
    <!-- Add IronPDF dependency -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>YOUR-VERSION-HERE</version>
    </dependency>
    <!-- Add SLF4J logging dependency -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>YOUR-VERSION-HERE</version>
    </dependency>
</dependencies>
<dependencies>
    <!-- Add IronPDF dependency -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>YOUR-VERSION-HERE</version>
    </dependency>
    <!-- Add SLF4J logging dependency -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>YOUR-VERSION-HERE</version>
    </dependency>
</dependencies>
XML

Esto agregará la biblioteca IronPDF para Java y el registrador SLF4J que usa. Se recomienda usar la última versión de IronPDF para Java. Una vez que hayas agregado las dependencias, puedes ejecutar mvn install para instalar las dependencias en tu repositorio local, y tu proyecto estará listo para usar IronPDF para Java.

Código Java para crear documentos PDF

Este código está escrito en Java y utiliza la biblioteca IronPDF para convertir HTML en un documento PDF.

// Import statement for IronPDF Java  
import com.ironsoftware.ironpdf.*;

import java.io.IOException;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) throws IOException {
        // Apply your license key
        License.setLicenseKey("YOUR-LICENSE-KEY");

        // Set a log path to store log files generated by IronPDF
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

        // Define the HTML content to convert into a PDF
        String html = "<!DOCTYPE html>\r\n"
                + "<html>\r\n"
                + "  <head>\r\n"
                + "    <link href='https://fonts.googleapis.com/css2?family=Popin&display=swap' rel='stylesheet'>\r\n"
                + "    <style>\r\n"
                + "      /* Add CSS styles for the invoice here */\r\n"
                + "      body {\r\n"
                + "        font-family: 'Popin', cursive;\r\n"
                + "      }\r\n"
                + "      .invoice {\r\n"
                + "        width: 80%;\r\n"
                + "        margin: 0 auto;\r\n"
                + "        border: 1px solid #ccc;\r\n"
                + "        padding: 20px;\r\n"
                + "        background-color: #f5f5f5;\r\n"
                + "        color: #333;\r\n"
                + "      }\r\n"
                + "      .invoice h1 {\r\n"
                + "        text-align: center;\r\n"
                + "      }\r\n"
                + "      .invoice .invoice-info {\r\n"
                + "        display: flex;\r\n"
                + "        justify-content: space-between;\r\n"
                + "        margin-bottom: 20px;\r\n"
                + "      }\r\n"
                + "      .invoice .invoice-info div {\r\n"
                + "        width: 45%;\r\n"
                + "      }\r\n"
                + "      .invoice table {\r\n"
                + "        width: 100%;\r\n"
                + "        border-collapse: collapse;\r\n"
                + "      }\r\n"
                + "      .invoice table th, .invoice table td {\r\n"
                + "        border: 1px solid #ccc;\r\n"
                + "        padding: 10px;\r\n"
                + "      }\r\n"
                + "      .invoice table th {\r\n"
                + "        text-align: left;\r\n"
                + "        background-color: #f5f5f5;\r\n"
                + "      }\r\n"
                + "      .invoice table td {\r\n"
                + "        text-align: right;\r\n"
                + "      }\r\n"
                + "      .invoice table td.total {\r\n"
                + "        font-weight: bold;\r\n"
                + "      }\r\n"
                + "    </style>\r\n"
                + "  </head>\r\n"
                + "  <body>\r\n"
                + "    <div class=\"invoice\">\r\n"
                + "      <h1>Invoice</h1>\r\n"
                + "      <div class=\"invoice-info\">\r\n"
                + "        <div>\r\n"
                + "          <p><strong>From:</strong></p>\r\n"
                + "          <p>Your Company Name</p>\r\n"
                + "          <p>123 Main St</p>\r\n"
                + "          <p>City, State ZIP</p>\r\n"
                + "        </div>\r\n"
                + "        <div>\r\n"
                + "          <p><strong>To:</strong></p>\r\n"
                + "          <p>Customer Name</p>\r\n"
                + "          <p>456 Park Ave</p>\r\n"
                + "          <p>City, State ZIP</p>\r\n"
                + "        </div>\r\n"
                + "      </div>\r\n"
                + "      <table>\r\n"
                + "        <thead>\r\n"
                + "          <tr>\r\n"
                + "            <th>Product</th>\r\n"
                + "            <th>Quantity</th>\r\n"
                + "            <th>Price</th>\r\n"
                + "            <th>Total</th>\r\n"
                + "          </tr>\r\n"
                + "        </thead>\r\n"
                + "        <tbody>\r\n"
                + "          <tr>\r\n"
                + "            <td>Product 1</td>\r\n"
                + "            <td>1</td>\r\n"
                + "            <td>$10.00</td>\r\n"
                + "            <td>$10.00</td>\r\n"
                + "          </tr>\r\n"
                + "          <tr>\r\n"
                + "            <td>Product 2</td>\r\n"
                + "            <td>2</td>\r\n"
                + "            <td>$5.00</td>\r\n"
                + "            <td>$10.00</td>\r\n"
                + "          </tr>\r\n"
                + "          <tr>\r\n"
                + "            <td colspan=\"3\" class=\"total\">Total:</td>\r\n"
                + "            <td class=\"total\">$20.00</td>\r\n"
                + "          </tr>\r\n"
                + "        </tbody>\r\n"
                + "      </table>\r\n"
                + "    </div>\r\n"
                + "  </body>\r\n"
                + "</html>";

        // Convert HTML to PDF document
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(html);

        // Save the PDF document to a specified path
        myPdf.saveAs(Paths.get("C://HTMLtoPDF.pdf"));
    }
}
// Import statement for IronPDF Java  
import com.ironsoftware.ironpdf.*;

import java.io.IOException;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) throws IOException {
        // Apply your license key
        License.setLicenseKey("YOUR-LICENSE-KEY");

        // Set a log path to store log files generated by IronPDF
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

        // Define the HTML content to convert into a PDF
        String html = "<!DOCTYPE html>\r\n"
                + "<html>\r\n"
                + "  <head>\r\n"
                + "    <link href='https://fonts.googleapis.com/css2?family=Popin&display=swap' rel='stylesheet'>\r\n"
                + "    <style>\r\n"
                + "      /* Add CSS styles for the invoice here */\r\n"
                + "      body {\r\n"
                + "        font-family: 'Popin', cursive;\r\n"
                + "      }\r\n"
                + "      .invoice {\r\n"
                + "        width: 80%;\r\n"
                + "        margin: 0 auto;\r\n"
                + "        border: 1px solid #ccc;\r\n"
                + "        padding: 20px;\r\n"
                + "        background-color: #f5f5f5;\r\n"
                + "        color: #333;\r\n"
                + "      }\r\n"
                + "      .invoice h1 {\r\n"
                + "        text-align: center;\r\n"
                + "      }\r\n"
                + "      .invoice .invoice-info {\r\n"
                + "        display: flex;\r\n"
                + "        justify-content: space-between;\r\n"
                + "        margin-bottom: 20px;\r\n"
                + "      }\r\n"
                + "      .invoice .invoice-info div {\r\n"
                + "        width: 45%;\r\n"
                + "      }\r\n"
                + "      .invoice table {\r\n"
                + "        width: 100%;\r\n"
                + "        border-collapse: collapse;\r\n"
                + "      }\r\n"
                + "      .invoice table th, .invoice table td {\r\n"
                + "        border: 1px solid #ccc;\r\n"
                + "        padding: 10px;\r\n"
                + "      }\r\n"
                + "      .invoice table th {\r\n"
                + "        text-align: left;\r\n"
                + "        background-color: #f5f5f5;\r\n"
                + "      }\r\n"
                + "      .invoice table td {\r\n"
                + "        text-align: right;\r\n"
                + "      }\r\n"
                + "      .invoice table td.total {\r\n"
                + "        font-weight: bold;\r\n"
                + "      }\r\n"
                + "    </style>\r\n"
                + "  </head>\r\n"
                + "  <body>\r\n"
                + "    <div class=\"invoice\">\r\n"
                + "      <h1>Invoice</h1>\r\n"
                + "      <div class=\"invoice-info\">\r\n"
                + "        <div>\r\n"
                + "          <p><strong>From:</strong></p>\r\n"
                + "          <p>Your Company Name</p>\r\n"
                + "          <p>123 Main St</p>\r\n"
                + "          <p>City, State ZIP</p>\r\n"
                + "        </div>\r\n"
                + "        <div>\r\n"
                + "          <p><strong>To:</strong></p>\r\n"
                + "          <p>Customer Name</p>\r\n"
                + "          <p>456 Park Ave</p>\r\n"
                + "          <p>City, State ZIP</p>\r\n"
                + "        </div>\r\n"
                + "      </div>\r\n"
                + "      <table>\r\n"
                + "        <thead>\r\n"
                + "          <tr>\r\n"
                + "            <th>Product</th>\r\n"
                + "            <th>Quantity</th>\r\n"
                + "            <th>Price</th>\r\n"
                + "            <th>Total</th>\r\n"
                + "          </tr>\r\n"
                + "        </thead>\r\n"
                + "        <tbody>\r\n"
                + "          <tr>\r\n"
                + "            <td>Product 1</td>\r\n"
                + "            <td>1</td>\r\n"
                + "            <td>$10.00</td>\r\n"
                + "            <td>$10.00</td>\r\n"
                + "          </tr>\r\n"
                + "          <tr>\r\n"
                + "            <td>Product 2</td>\r\n"
                + "            <td>2</td>\r\n"
                + "            <td>$5.00</td>\r\n"
                + "            <td>$10.00</td>\r\n"
                + "          </tr>\r\n"
                + "          <tr>\r\n"
                + "            <td colspan=\"3\" class=\"total\">Total:</td>\r\n"
                + "            <td class=\"total\">$20.00</td>\r\n"
                + "          </tr>\r\n"
                + "        </tbody>\r\n"
                + "      </table>\r\n"
                + "    </div>\r\n"
                + "  </body>\r\n"
                + "</html>";

        // Convert HTML to PDF document
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(html);

        // Save the PDF document to a specified path
        myPdf.saveAs(Paths.get("C://HTMLtoPDF.pdf"));
    }
}
JAVA
  • El primer paso es aplicar una clave de licencia usando el método setLicenseKey. La clave se pasa como argumento de cadena; en este caso, "YOUR-LICENSE-KEY" debe ser reemplazado por la clave de licencia real.
  • El siguiente paso es establecer una ruta de registro usando el método setLogPath. Aquí es donde se guardará el archivo de registro para el motor IronPDF. En este caso, se establece en "C:/tmp/IronPdfEngine.log".
  • Se define el método principal, y se crea un objeto [PdfDocument](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html) llamando al método [renderHtmlAsPdf](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String)) pasando una cadena de HTML como el argumento. Esto convertirá el HTML en un PDF y lo almacenará en el objeto myPdf.
  • El paso final es guardar el objeto myPdf en un archivo usando el método [saveAs](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#saveAs(java.lang.String). La ubicación del archivo se pasa como un argumento en forma de un objeto Paths, en este caso, "HTMLtoPDF.pdf".

Aquí puedes ver la salida del programa arriba mencionado donde se crea un archivo PDF usando la biblioteca de Java para PDF de IronPDF.

Generación de PDF con la biblioteca de Java (Ejemplo de código completo), Figura 1: El archivo PDF de salida de una cadena HTML El archivo PDF de salida de una cadena HTML

Crear archivo PDF a partir de URL

IronPDF puede procesar páginas web en PDFs desde una variedad de fuentes, incluyendo redes locales y servidores externos.

import com.ironsoftware.ironpdf.*;

import java.io.IOException;
import java.nio.file.Paths;

public class UrlToPdfExample {
    public static void main(String[] args) throws IOException {
        // Apply your license key
        License.setLicenseKey("YOUR-LICENSE-KEY");

        // Set a log path to store log files generated by IronPDF
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

        // Convert a webpage to a PDF by specifying the URL
        PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");

        // Save the PdfDocument to a file
        myPdf.saveAs(Paths.get("url.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;

import java.io.IOException;
import java.nio.file.Paths;

public class UrlToPdfExample {
    public static void main(String[] args) throws IOException {
        // Apply your license key
        License.setLicenseKey("YOUR-LICENSE-KEY");

        // Set a log path to store log files generated by IronPDF
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

        // Convert a webpage to a PDF by specifying the URL
        PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");

        // Save the PdfDocument to a file
        myPdf.saveAs(Paths.get("url.pdf"));
    }
}
JAVA
  • El método [PdfDocument.renderUrlAsPdf](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#renderUrlAsPdf(java.lang.String)) está diseñado específicamente para este propósito y acepta una cadena que contiene la URL de la página web a convertir. El método recupera el contenido HTML de la página web y lo transforma en un documento PDF. IronPDF preserva la apariencia de todos los componentes web mientras que las características interactivas (enlaces, campos de formulario, etc.) son funcionales.

Los resultados son los siguientes:

Generación de PDF con la biblioteca de Java (Ejemplo de código completo), Figura 2: El archivo PDF de salida de una URL El archivo PDF de salida desde una URL

Resumen

En conclusión, IronPDF es una valiosa biblioteca de Java con muchas características para crear y manipular archivos PDF. Ya sea que necesites firmar digitalmente un documento PDF, llenar formularios PDF o realizar otras tareas, IronPDF lo hace fácil con una mínima codificación.

Con su prueba gratuita disponible y opciones de precios flexibles a partir de $799, IronPDF es una solución rentable para desarrolladores que buscan agregar funcionalidad PDF a sus proyectos.

Preguntas Frecuentes

¿Cómo puedo crear un documento PDF en Java?

Usando IronPDF, puedes crear un documento PDF en Java utilizando su API integral para generar nuevos PDF desde cero o convertir documentos existentes al formato PDF.

¿Cuál es el proceso para convertir HTML a PDF en Java?

Para convertir HTML a PDF en Java, IronPDF proporciona el método renderHtmlAsPdf, que te permite ingresar una cadena HTML y recibir un documento PDF como resultado.

¿Cómo convierto una URL de página web en un PDF en una aplicación Java?

IronPDF permite convertir una URL de página web en un PDF usando el método renderUrlAsPdf. Este método recupera el contenido HTML de la URL y lo convierte en un documento PDF.

¿Puedo firmar digitalmente documentos PDF usando una biblioteca de Java?

Sí, IronPDF proporciona la capacidad de firmar digitalmente documentos PDF, asegurando la autenticidad e integridad del documento.

¿Cómo puedo agregar funciones de seguridad a un PDF usando Java?

IronPDF ofrece características de seguridad como protección por contraseña y marcas de agua, que pueden aplicarse a los PDF para aumentar su seguridad.

¿Qué pasos están involucrados en instalar una biblioteca PDF en un proyecto Maven?

Para instalar IronPDF en un proyecto Maven, necesitas agregar la dependencia de IronPDF y la dependencia de registro SLF4J a tu archivo pom.xml, y luego ejecutar el comando mvn install.

¿Cómo puedo manipular archivos PDF existentes usando Java?

IronPDF te permite manipular archivos PDF existentes proporcionando métodos para editar texto, fusionar documentos, agregar anotaciones y aplicar firmas digitales.

¿Hay alguna manera de probar las características de IronPDF antes de comprarlo?

Sí, IronPDF ofrece una prueba gratuita que permite a los desarrolladores probar sus características antes de tomar una decisión de compra.

¿Cuáles son los beneficios de usar una biblioteca PDF en Java?

Usar una biblioteca PDF como IronPDF en Java agiliza el proceso de creación, edición y conversión de PDF, reduciendo la necesidad de codificación extensa y mejorando la eficiencia.

¿Cómo puedo fusionar múltiples archivos PDF en uno usando Java?

IronPDF incluye funcionalidad para fusionar múltiples archivos PDF en un único documento, facilitando la consolidación de varios PDF en un solo archivo.

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