COMPARACIóN DE PRODUCTOS

Comparación entre IronPDF for Java e iTextPDF itext7 para Java

Jordi Bardia
Jordi Bardia
15 de enero, 2023
Compartir:

Hoy en día, los desarrolladores pueden beneficiarse de mejores soluciones gracias a una tecnología cada vez mejor.

El futuro de los procesos de desarrollo de software pasa por la automatización. Durante mucho tiempo, los archivos PDF han planteado dificultades a los desarrolladores. Al trabajar con PDFs (es decir, al producir contenido y convertir contenido de otros formatos a PDF), hay numerosas consideraciones que deben tenerse en cuenta. Con el desarrollo de numerosas bibliotecas destinadas a ayudar a leer, escribir, crear e incluso convertir PDF de muchos formatos, estas necesidades ya están cubiertas.

En este artículo se comparan dos de las bibliotecas PDF para desarrolladores de Java más conocidas para editar, imprimir y crear archivos PDF:

  • Biblioteca de Java IronPDF: Una biblioteca de PDF para Java que se centra en generar PDFs a partir de HTML.
  • Biblioteca ITextPDF: Una biblioteca de código abierto basada en Java que se centra en la generación de PDF mediante una API programable.

    Examinaremos las características de las dos bibliotecas antes de pasar a los gastos de rendimiento para convertir y manejar los PDF con el fin de determinar qué biblioteca es la mejor para su aplicación. Además, se registrará la duración de cada biblioteca para investigaciones posteriores.

Instalación de IronPDF Java

Para instalar IronPDF for Java, solo debes declararlo como una dependencia. Para definir IronPDF como una dependencia, por favor añade lo siguiente a tu pom.xml:

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>com.ironsoftware</artifactId>
   <version>2025.3.6</version>
</dependency>

Nota: puede descargar el .jar manualmente:

  1. Visite IronPDF for Java Maven Repository para acceder a la página del repositorio Maven.

  2. Extraiga el contenido del archivo zip.

  3. Crea una carpeta y copia el contenido de la carpeta zip.

  4. Abra Eclipse IDE.

  5. Cree un nuevo proyecto Java.

  6. Añada los archivos .jar de IronPDF en la ruta de la clase.

  7. Finalice el asistente de creación de proyectos. ¡Eso es todo!

Características de IronPDF

Los desarrolladores pueden producir, leer y manipular rápidamente archivos PDF con la ayuda de la robusta biblioteca PDF IronPDF. IronPDF utiliza el motor de Chrome como núcleo y ofrece una gran cantidad de funciones prácticas y potentes, incluida la capacidad de convertir archivos HTML5, JavaScript, CSS e imágenes a PDF. IronPDF también puede añadir encabezados y pies de página únicos, y crear archivos PDF exactamente como aparecen en un navegador web. IronPDF admite varios formatos web, como HTML, ASPX, Razor View y MVC. Los principales atributos de IronPDF son los siguientes:

  • Cree, lea y edite fácilmente archivos PDF con programas Java,
  • Cree archivos PDF a partir de cualquier enlace URL de sitio web que tenga configuraciones para User-Agents, Proxies, Cookies, HTTP Headers y Form Variables para admitir el inicio de sesión mediante formularios de inicio de sesión HTML,
  • Eliminar fotos de publicaciones PDF ya existentes,
  • Añade texto, fotos, marcadores, marcas de agua y otros elementos a los PDF,
  • Fusione y divida las páginas de varios documentos PDF,
  • Convierte archivos de tipo multimedia, incluidos archivos CSS, en documentos.

Instalación de ITextPDF Java

ITextPDF está disponible de forma gratuita en el sitio web de iTextPDF. Esta biblioteca es de código abierto bajo el modelo de licencia de software AGPL.

Para agregar la biblioteca iText a tu aplicación, incluye el siguiente repositorio de Maven en tu archivo pom.xml.

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.13.2</version>
</dependency>
XML

Descargue directamente los archivos .jar de iTextPDF y descargue directamente el archivo slf4j.jar. Para utilizar las bibliotecas, añada los archivos .jar de iTextPDF al classpath del sistema.

Funciones de la biblioteca IText

  • Crear archivos PDF a partir de HTML, XML e imágenes (png, jpg, etc.)
  • Añadir marcadores, números de página y marcadores a documentos PDF
  • Divide un archivo PDF en varios PDF o combina varios PDF en uno solo
  • Editar formularios PDF mediante programación
  • Añade texto, imágenes y figuras geométricas a los PDF

Convertir cadenas HTML en PDF con iTextPDF Java

En iText para Java, HTMLConverter es la clase principal utilizada para convertir HTML a PDF.

Hay tres métodos principales en HTMLConverter:

  • convertToDocument, que devuelve un objeto Document
  • convertToElements, que devuelve una lista de objetos IElement
  • convertToPdf maneja la conversión de contenido HTML a PDF. Este método acepta una entrada HTML como un String, un File o un InputStream, y devuelve un objeto File, un OutputStream o un Document.
package com.hmkcode;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import com.itextpdf.html2pdf.HtmlConverter;

public class App 
{
public static final String HTML = "<h1>Hello</h1>"
+ "<p>This was created using iText</p>"
+ "<a href="hmkcode.com">hmkcode.com</a>";

    public static void main( String [] args ) throws FileNotFoundException, IOException  
    {
    HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));

        System.out.println( "PDF Created!" );
    }
}
JAVA
Una comparación entre IronPDF For Java y iTextPDF itext7 para Java - Figura 1

Convertir cadenas HTML en PDF con IronPDF Java

La clase PdfDocument de IronPDF ofrece múltiples métodos estáticos que permiten a los desarrolladores de Java generar texto HTML a partir de diversas fuentes. Un método de este tipo es el método PdfDocument.renderHtmlAsPdf, que convierte una cadena de marcado HTML en un documento PDF.


License.setLicenseKey("YOUR-LICENSE-KEY");
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
myPdf.saveAs(Paths.get("html_saved.pdf"));
JAVA

Convertir archivos HTML a PDF con ITextPDF Java

El método convertToPdf se puede utilizar para convertir cualquier archivo HTML a PDF.

Las imágenes y los archivos CSS pueden incluirse en el archivo HTML. Sin embargo, deben estar en el mismo lugar en el archivo HTML. Podemos usar la clase ConverterProperties para establecer la ruta base para los CSS e imágenes referenciados. Esto resulta útil cuando los activos del archivo HTML se encuentran en directorios diferentes.

Considere un index.html que contenga el siguiente marcado.

<html>
<head>
    <title>HTML to PDF</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <h1>HTML to PDF</h1>
    <p>
        <span class="itext">itext</span> 7.1.9 
        <span class="description"> converting HTML to PDF</span>
    </p>
    <table>
        <tr>
            <th class="label">Title</th>
            <td>iText - Java HTML to PDF</td>
        </tr>
        <tr>
            <th>URL</th>
            <td>http://hmkcode.com/itext-html-to-pdf-using-java</td>
        </tr>
    </table>
</body>
</html>
<html>
<head>
    <title>HTML to PDF</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <h1>HTML to PDF</h1>
    <p>
        <span class="itext">itext</span> 7.1.9 
        <span class="description"> converting HTML to PDF</span>
    </p>
    <table>
        <tr>
            <th class="label">Title</th>
            <td>iText - Java HTML to PDF</td>
        </tr>
        <tr>
            <th>URL</th>
            <td>http://hmkcode.com/itext-html-to-pdf-using-java</td>
        </tr>
    </table>
</body>
</html>
HTML

El siguiente código fuente convierte el archivo index.html en un PDF:

package com.hmkcode;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import com.itextpdf.html2pdf.HtmlConverter;

public class App 
{
    public static void main( String [] args ) throws FileNotFoundException, IOException  
    {
    HtmlConverter.convertToPdf(new FileInputStream("index.html"), 
            new FileOutputStream("index-to-pdf.pdf"));

        System.out.println( "PDF Created!" );
    }
}
JAVA
Una comparación entre IronPDF para Java y iTextPDF itext7 para Java - Figura 2

Convertir archivos HTML a PDF con IronPDF for Java

El método PdfDocument.renderHtmlFileAsPdf de IronPDF convierte archivos HTML ubicados en una computadora o en una ruta de archivo de red.

PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
JAVA

Añadir imágenes a archivos PDF con IronPDF Java

Puede utilizar el método PdfDocument.fromImage de IronPDF para renderizar un grupo de imágenes en un único archivo PDF. El siguiente ejemplo utiliza este método en una lista corta de imágenes ubicadas en diferentes rutas del sistema de archivos.

// Create an ArrayList containing the list of images that you want to combine
// into ONE PDF document
Path imageA = Paths.get("directoryA/1.png");
Path imageB = Paths.get("directoryB/2.png");
Path imageC = Paths.get("3.png");
List<Path> imageFiles = new ArrayList<>();
imageFiles.add(imageA);
imageFiles.add(imageB);
imageFiles.add(imageC);

// Convert the three images into a PDF and save them. 
PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
JAVA

Añadir imágenes a PDF con ITextPDF Java

El ejemplo de código completo que se muestra a continuación utiliza iText para convertir dos imágenes situadas en el directorio de trabajo actual en un archivo PDF.

import java.io.*;

// Importing iText library packages
import com.itextpdf.io.image.*;
import com.itextpdf.kernel.pdf.*;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;

public class InsertImagePDF {
public static void main(String [] args) throws IOException {
        String currDir = System.getProperty("user.dir");

        // Getting path of current working directory
        // to create the pdf file in the same directory of
        // the running java program
        String pdfPath = currDir + "/InsertImage.pdf";

        // Creating path for the new pdf file
        PdfWriter writer = new PdfWriter(pdfPath);

        // Creating PdfWriter object to write the PDF file to
        // the path
        PdfDocument pdfDoc = new PdfDocument(writer);

        // Creating a Document object
        Document doc = new Document(pdfDoc);

        // Creating imagedata from image on disk(from given
        // path) using ImageData object
        ImageData imageDataA = ImageDataFactory.create(
        currDir + "/imageA.jpg");
        Image imgA = new Image(imageDataA);
        ImageData imageDataB = ImageDataFactory.create(
        currDir + "/imageB.jpg");
        Image imgB = new Image(imageDataB);

        // Creating Image object from the imagedata
        doc.add(imgA);
        doc.add(imgB);

        // Adding Image to the empty document
        doc.close();

        // Close the document
        System.out.println("Image added successfully and PDF file created!");
    }
}
JAVA
Una comparación entre IronPDF For Java e iTextPDF itext7 para Java - Figura 3

Licencias

iTextSharp es de código abierto y tiene licencia AGLP.

Una comparación entre IronPDF For Java y iTextPDF itext7 para Java - Figura 4

Esto garantiza que cualquiera que utilice una aplicación que incorpore iTextSharp tenga derecho a una copia completa del código fuente de la aplicación, aunque lo haga a través de una red corporativa o de Internet.

Una comparación entre IronPDF para Java e iTextPDF itext7 para Java - Figura 5

Póngase en contacto directamente con iText para discutir el precio de la licencia si tiene intención de utilizarla para aplicaciones empresariales.

Una comparación entre IronPDF For Java y iTextPDF itext7 para Java - Figura 6

IronPDF es gratuito para el desarrollo y siempre se puede obtener una licencia para su implantación comercial. Detalles de la licencia de IronPDF para uso en un solo proyecto, desarrolladores individuales, agencias, y corporaciones globales, así como para la redistribución SaaS y OEM. Todas las licencias incluyen una garantía de devolución de dinero de 30 días, un año de soporte y actualizaciones del producto, validez para desarrollo/staging/producción y también una licencia permanente (compra única).

El precio del paquete Lite comienza desde $749.

  • Los desarrolladores pueden disfrutar de un uso ilimitado de la biblioteca para el desarrollo. En términos de licencias generales, las tarifas son muy rentables.
  • Un año de soporte gratuito e ilimitado.
  • También se ofrecen versiones de prueba gratuitas para la obtención de licencias.
  • Todas las licencias incluyen una garantía de devolución del dinero de 30 días.
  • Las licencias son válidas para todos los entornos (desarrollo, preproducción, producción, etc.).
  • Las licencias incluyen un año de soporte incondicional.
  • Las licencias de IronPDF requieren una única compra.
    Comparación entre IronPDF for Java e iTextPDF itext7 para Java - Figura 7

IronPDF vs iText

Existen varias diferencias significativas entre iText e IronPDF.

La API de iText está estructurada en torno a un modelo programático. En este modelo, la manipulación de las propiedades y el contenido de los PDF es más granular y de bajo nivel. Aunque esto da al programador más control y flexibilidad, también requiere escribir más código para implementar los casos de uso.

La API de IronPDF está estructurada en torno a la optimización de la productividad del desarrollador. IronPDF simplifica la edición, manipulación y creación de PDF, así como otras tareas complejas, permitiendo a los desarrolladores llevarlas a cabo con unas pocas líneas de código.

Conclusión

Todos los clientes de Iron Software tienen la opción de adquirir el conjunto completo de paquetes con sólo dos clics. Actualmente, puede comprar las cinco bibliotecas de la Iron Software Suite, junto con el soporte continuo para cada una, por el costo de solo dos bibliotecas de la suite.

Jordi Bardia
Ingeniero de software
Jordi es más competente en Python, C# y C++, cuando no está aprovechando sus habilidades en Iron Software; está programando juegos. Compartiendo responsabilidades en las pruebas de productos, el desarrollo de productos y la investigación, Jordi añade un inmenso valor a la mejora continua de los productos. La variada experiencia le mantiene desafiado y comprometido, y dice que es uno de sus aspectos favoritos de trabajar con Iron Software. Jordi creció en Miami, Florida, y estudió Informática y Estadística en la Universidad de Florida.
< ANTERIOR
Comparación entre IronPDF for Java y Apache PDFBox
SIGUIENTE >
Comparación entre IronPDF for Java y Aspose.PDF para Java