COMPARACIóN DE PRODUCTOS

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

Actualizado 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 PDF (es decir, producción de contenidos y conversión de contenidos de otros formatos a PDF)Hay que tener en cuenta numerosas consideraciones. 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 más conocidas por los desarrolladores Java para editar, imprimir y crear archivos PDF:

  • IronPDF biblioteca: Una biblioteca PDF basada en Java que se centra en la generación de PDF 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 Basta con declararlo como dependencia. Para definir IronPDF como dependencia, añada lo siguiente a su pom.xml

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

Nota: puede descargar el .jar manualmente:

  1. Ir a el repositorio de 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. Ya está.!

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 Chrome en su 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:

  • Crea, lee y edita PDF fácilmente 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 gratuitamente en https://itextpdf.com/. Esta biblioteca es de código abierto bajo el modelo de licencia de software AGPL.

Para añadir la librería iText en tu aplicación, incluye el siguiente repositorio maven en nuestro fichero 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 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.
  • ConvertToPdfse encarga de convertir el contenido HTML a PDF. Este método acepta la entrada HTML como unaString, unFile, o unInputStream, y devuelve unFile, unOutputStream, o un objetoDocument`.
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
Comparación entre IronPDF for Java e 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 Java producir texto HTML a partir de diversas fuentes. Uno de ellos es el método PdfDocument.renderHtmlAsPdf, que convierte una cadena de código 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 puede utilizarse para convertir cualquier archivo HTML en un 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 utilizar la clase ConverterProperties para establecer la ruta base para CSS e imágenes referenciadas. 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
Comparación entre IronPDF for Java e 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 un ordenador o en una ruta de archivos 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 convertir 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.

//  Cree un ArrayList que contenga la lista de imágenes que desea combinar
//  en UN documento PDF
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);

//  Convierte las tres imágenes en un PDF y guárdalas. 
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.*;

//  importación de paquetes de la biblioteca itext
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");

        //  Obtener la ruta del directorio de trabajo actual
        //  para crear el archivo pdf en el mismo directorio de
        //  el programa java en ejecución
        String pdfPath = currDir + "/InsertImage.pdf";

        //  Crear ruta para el nuevo archivo pdf
        PdfWriter writer = new PdfWriter(pdfPath);

        //  Creación del objeto PdfWriter para escribir el archivo PDF en
        //  el camino
        PdfDocument pdfDoc = new PdfDocument(writer);

        //  Creación de un objeto Documento
        Document doc = new Document(pdfDoc);

        //  Creación de imagedata a partir de una imagen en disco(a partir de un dado
        //  path) utilizando el objeto ImageData
        ImageData imageDataA = ImageDataFactory.create(
        currDir + "/imageA.jpg");
        Image imgA = new Image(imageDataA);
        ImageData imageDataB = ImageDataFactory.create(
        currDir + "/imageB.jpg");
        Image imgB = new Image(imageDataB);

        //  Creación de un objeto Image a partir de los imagedata
        doc.add(imgA);
        doc.add(imgB);

        //  Añadir imagen al documento vacío
        doc.close();

        //  Cerrar el documento
        System.out.println("Image added successfully and PDF file created!");
    }
}
JAVA
Comparación entre IronPDF for Java e iTextPDF itext7 para Java - Figura 3

Licencias

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

Comparación entre IronPDF for Java e 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.

Comparación entre IronPDF for 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.

Comparación entre IronPDF for Java e iTextPDF itext7 para Java - Figura 6

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

Los precios del paquete Lite empiezan a partir de $749.

  • Los desarrolladores pueden disfrutar de un uso ilimitado de la biblioteca para el desarrollo. En cuanto a las licencias generales, las tarifas son muy rentables
  • Asistencia ilimitada gratuita durante un año
  • pruebas gratuitas también están disponibles a efectos 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, puesta en escena, producción, etc.)
  • Las licencias incluyen un año de apoyo incondicional
  • Las licencias 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 adquirir las cinco bibliotecas en el Paquete de software Iron junto con el soporte continuo para cada una de ellas, por el coste de sólo dos bibliotecas de la suite.

< ANTERIOR
Comparación entre IronPDF para Java y Apache PDFBox
SIGUIENTE >
Comparación entre IronPDF para Java y Aspose.PDF para Java

¿Listo para empezar? Versión: 2024.3 recién publicada

Descarga gratuita de Maven Ver licencias >