Una Comparación entre IronPDF para Java y iTextPDF itext7 para Java
Hoy en día, los desarrolladores pueden beneficiarse de mejores soluciones gracias a la mejora constante de la tecnología.
El futuro de los procesos de desarrollo de software reside en la automatización. Durante mucho tiempo, los archivos PDF han presentado dificultades para los desarrolladores. Al trabajar con PDFs (es decir, produciendo contenido y convirtiendo 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 PDFs desde muchos formatos, estas necesidades ahora están cubiertas.
Este artículo comparará dos de las bibliotecas PDF más bien recibidas por los desarrolladores de Java para editar, imprimir y crear archivos PDF:
- IronPDF for Java Library: Una biblioteca Java PDF que se centra en generar PDFs a partir de HTML.
- Biblioteca ITextPDF: Una biblioteca de código abierto orientada a Java que se centra en generar PDFs utilizando una API programable.
Examinaremos las características de las dos bibliotecas antes de pasar a los costos de rendimiento para convertir y manejar los PDFs con el fin de determinar cuál biblioteca es 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 para Java, simplemente declárelo como una dependencia. Para definir IronPDF como una dependencia, por favor añada lo siguiente a su pom.xml:
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR_VERSION_HERE</version>
</dependency><dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR_VERSION_HERE</version>
</dependency>Nota: puede descargar el .jar manualmente:
- Vaya a IronPDF para Java Maven Repository para acceder a la página del Repo Maven.
- Extraiga el contenido del archivo zip.
- Cree una carpeta y copie el contenido del archivo zip.
- Abra Eclipse IDE.
- Cree un nuevo proyecto Java.
- Añada los archivos .jar de IronPDF en la ruta de clase.
- Termine el asistente de creación de proyecto. using IronPdf;
Características de IronPDF
Los desarrolladores pueden rápidamente producir, leer y manipular PDFs con la ayuda de la robusta biblioteca IronPDF PDF. IronPDF utiliza el motor Chrome en su núcleo y ofrece una gran cantidad de características prácticas y poderosas, incluyendo 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. Varios formatos web, incluyendo HTML, ASPX, Razor View y MVC, son soportados por IronPDF. Las características clave de IronPDF son las siguientes:
- Crear, leer y editar PDFs fácilmente con programas Java.
- Crear PDFs desde cualquier enlace URL de sitio web que tenga configuraciones para User-Agents, Proxies, Cookies, HTTP Headers y Form Variables para soportar el inicio de sesión utilizando formularios de inicio de sesión HTML.
- Eliminar fotos de publicaciones PDF ya existentes.
- Añadir texto, fotos, marcadores, marcas de agua y otros elementos a PDFs.
- Fusionar y dividir las páginas de varios documentos PDF.
- Convertir archivos de tipo medio, incluyendo archivos CSS, en documentos.
Instalación de ITextPDF Java
ITextPDF está disponible de forma gratuita en Sitio Web de iTextPDF. Esta biblioteca es de código abierto bajo el modelo de licencia de software AGPL.
Para añadir la biblioteca iText a su aplicación, incluya el siguiente repositorio Maven en su archivo pom.xml.
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.2</version>
</dependency><dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.2</version>
</dependency>Descargue directamente los archivos .jar de iTextPDF y descargue directamente el archivo slf4j.jar. Para usar las bibliotecas añada los archivos .jar de iTextPDF a la ruta de clase del sistema.
Características de la biblioteca de texto
- Crear PDFs a partir de HTML, XML e Imágenes (png, jpg, etc.).
- Añadir marcadores, números de página y marcas a los documentos PDF.
- Dividir un archivo PDF en múltiples PDFs o combinar múltiples PDFs en un solo PDF.
- Editar Programáticamente Formularios PDF.
- Añadir texto, imágenes y figuras geométricas a PDFs.
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 objetoDocument.convertToElements, que devuelve una lista de objetosIElement.convertToPdfmaneja la conversión de contenido HTML a PDF. Este método acepta entrada en HTML como unaString, unFileo unInputStream, y devuelve un objetoFile, unOutputStreamo 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 {
// HTML content to be converted to PDF
public static final String HTML = "<h1>Hello</h1>"
+ "<p>This was created using iText</p>"
+ "<a href='http://hmkcode.com'>hmkcode.com</a>";
public static void main(String[] args) throws FileNotFoundException, IOException {
// Convert the HTML content to PDF and save it
HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}package com.hmkcode;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;
public class App {
// HTML content to be converted to PDF
public static final String HTML = "<h1>Hello</h1>"
+ "<p>This was created using iText</p>"
+ "<a href='http://hmkcode.com'>hmkcode.com</a>";
public static void main(String[] args) throws FileNotFoundException, IOException {
// Convert the HTML content to PDF and save it
HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}Convertir cadenas HTML en PDF con IronPDF for Java
La clase PdfDocument de IronPDF ofrece múltiples métodos estáticos que permiten a los desarrolladores de Java producir texto HTML desde varias fuentes. Uno de estos métodos es el método PdfDocument.renderHtmlAsPdf, que convierte una cadena de marcado HTML en un documento PDF.
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Set the license and log path
License.setLicenseKey("YOUR-LICENSE-KEY");
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Convert the HTML content to a PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
// Save the generated PDF
myPdf.saveAs(Paths.get("html_saved.pdf"));
}
}import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Set the license and log path
License.setLicenseKey("YOUR-LICENSE-KEY");
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Convert the HTML content to a PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
// Save the generated PDF
myPdf.saveAs(Paths.get("html_saved.pdf"));
}
}Convertir archivos HTML a PDF con ITextPDF Java
El método convertToPdf se puede usar para convertir cualquier archivo HTML a un PDF.
El archivo HTML puede incluir imágenes y archivos CSS. Sin embargo, deben estar en la misma ubicación que el archivo HTML. Podemos usar la clase ConverterProperties para establecer el camino base para CSS e imágenes referenciadas. Esto es útil cuando los bienes del archivo HTML están localizados en diferentes directorios.
Considere un archivo index.html que contiene 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>El código fuente a continuación 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 {
// Convert the HTML file to PDF and save it
HtmlConverter.convertToPdf(new FileInputStream("index.html"),
new FileOutputStream("index-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}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 {
// Convert the HTML file to PDF and save it
HtmlConverter.convertToPdf(new FileInputStream("index.html"),
new FileOutputStream("index-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}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 red.
import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Convert the HTML file to PDF and save it
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
}
}import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Convert the HTML file to PDF and save it
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
}
}Agregar imágenes a archivos PDF utilizando IronPDF Java
Puede utilizar el método PdfDocument.fromImage de IronPDF para renderizar un grupo de imágenes en un solo archivo PDF. El siguiente ejemplo utiliza este método en una corta lista de imágenes ubicadas en diferentes rutas del sistema de archivos.
import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class IronPdfExample {
public static void main(String[] args) {
// 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"));
}
}import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class IronPdfExample {
public static void main(String[] args) {
// 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"));
}
}Agregar imágenes a PDF con ITextPDF Java
El ejemplo de código completo a continuación utiliza iText para convertir dos imágenes ubicadas en el directorio de trabajo actual en un archivo PDF.
import java.io.*;
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
String pdfPath = currDir + "/InsertImage.pdf";
// Creating PdfWriter object to write the PDF file to the path
PdfWriter writer = new PdfWriter(pdfPath);
// Creating PdfDocument object
PdfDocument pdfDoc = new PdfDocument(writer);
// Creating a Document object
Document doc = new Document(pdfDoc);
// Creating ImageData from images on disk (from given paths) using ImageDataFactory
ImageData imageDataA = ImageDataFactory.create(currDir + "/imageA.jpg");
Image imgA = new Image(imageDataA);
ImageData imageDataB = ImageDataFactory.create(currDir + "/imageB.jpg");
Image imgB = new Image(imageDataB);
// Adding images to the document
doc.add(imgA);
doc.add(imgB);
// Close the document
doc.close();
System.out.println("Image added successfully and PDF file created!");
}
}import java.io.*;
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
String pdfPath = currDir + "/InsertImage.pdf";
// Creating PdfWriter object to write the PDF file to the path
PdfWriter writer = new PdfWriter(pdfPath);
// Creating PdfDocument object
PdfDocument pdfDoc = new PdfDocument(writer);
// Creating a Document object
Document doc = new Document(pdfDoc);
// Creating ImageData from images on disk (from given paths) using ImageDataFactory
ImageData imageDataA = ImageDataFactory.create(currDir + "/imageA.jpg");
Image imgA = new Image(imageDataA);
ImageData imageDataB = ImageDataFactory.create(currDir + "/imageB.jpg");
Image imgB = new Image(imageDataB);
// Adding images to the document
doc.add(imgA);
doc.add(imgB);
// Close the document
doc.close();
System.out.println("Image added successfully and PDF file created!");
}
}Licencias
iTextSharp es de código abierto y está licenciado bajo la AGLP.
Esto asegura que cualquiera que utilice una aplicación que incorpore iTextSharp tenga derecho a una copia completa del código fuente de la aplicación, incluso si lo hacen a través de una red corporativa o de internet.
Contacte directamente con iText para discutir el precio de la licencia si planea usarlo para aplicaciones comerciales.
IronPDF es gratuito para el desarrollo y siempre se puede licenciar para el despliegue comercial. Detalles de la Licencia IronPDF para uso en un solo proyecto, desarrolladores individuales, agencias y corporaciones globales, así como para 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 al producto y actualizaciones, validez para dev/staging/producción, y también una licencia permanente (compra única).
El precio del paquete Lite comienza a partir de $799.
- Los desarrolladores pueden disfrutar de uso ilimitado de la biblioteca para el desarrollo. * Soporte ilimitado gratuito durante un año.
- Un año de soporte ilimitado gratis.
- Las pruebas gratuitas también están disponibles para fines de licenciamiento.
- Todas las licencias incluyen una garantía de devolución de dinero de 30 días.
- Las licencias son válidas para todos los entornos (desarrollo, pruebas, producción, etc.).
- Las licencias incluyen un año de soporte incondicional.
- Las licencias IronPDF requieren una compra única.
IronPDF frente a iText
Hay varias diferencias significativas entre iText e IronPDF.
La API de iText está estructurada alrededor de un modelo programático. La manipulación de las propiedades y el contenido del PDF bajo este modelo es más de bajo nivel y granular. Si bien esto le da al programador más control y flexibilidad, también requiere escribir más código para implementar 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, creación y otras tareas complejas de PDFs permitiendo a los desarrolladores completarlas con solo unas pocas líneas de código.
Conclusión
Todos los clientes de Iron Software tienen la opción de comprar todo el conjunto de paquetes con solo dos clics. Actualmente, puede comprar las cinco bibliotecas del Iron Software Suite, junto con soporte continuo para cada una, por el costo de solo dos bibliotecas del conjunto.
Preguntas Frecuentes
¿Cómo puedo convertir HTML a PDF usando una biblioteca Java?
Puede usar el método renderHtmlAsPdf de IronPDF para convertir cadenas de HTML en documentos PDF. También puede convertir archivos HTML en PDFs usando el método renderHtmlFileAsPdf.
¿Cuáles son los pasos de instalación para la biblioteca Java PDF?
Para instalar IronPDF for Java, necesita declararlo como una dependencia en su archivo pom.xml o descargar manualmente el .jar del repositorio Maven de IronPDF e incluirlo en la ruta de clases de su proyecto.
¿Cómo se compara IronPDF for Java con iTextPDF?
IronPDF se enfoca en simplificar tareas con menos líneas de código, usando un motor de Chrome para conversiones de HTML a PDF. iTextPDF ofrece un control más detallado a través de una API programática pero requiere más código para la manipulación.
¿Puedo añadir imágenes a un PDF usando una biblioteca Java PDF?
Sí, con IronPDF, puede usar el método PdfDocument.fromImage para renderizar imágenes en un solo archivo PDF proporcionando una lista de rutas de archivo de imagen.
¿Qué opciones de licencia ofrece la biblioteca Java PDF?
IronPDF ofrece opciones de licencia flexibles que incluyen licencias para proyecto único, desarrollador individual, agencia y corporativa, junto con opciones para la redistribución SaaS y OEM. Todas las licencias vienen con una garantía de devolución de dinero de 30 días y un año de soporte.
¿Es posible editar PDFs usando IronPDF for Java?
Sí, IronPDF le permite editar, unir y manipular documentos PDF. Proporciona herramientas para añadir encabezados, pies de página, y manejar múltiples formatos web como HTML, ASPX y MVC.
¿Hay opciones gratuitas disponibles para bibliotecas Java PDF?
iTextPDF es de código abierto bajo la licencia AGPL, que permite el uso gratuito pero requiere compartir el código fuente de la aplicación que lo utiliza. IronPDF es gratuito para desarrollo pero requiere una licencia para despliegue comercial.
¿Cuál es la mejor manera de convertir archivos HTML a PDF en Java?
El método renderHtmlFileAsPdf de IronPDF le permite convertir archivos HTML desde una ruta de archivo local o de red en documentos PDF, ofreciendo un proceso optimizado para los desarrolladores.
¿Qué características ofrece IronPDF para la generación de PDF?
IronPDF admite la creación, lectura y edición de PDFs con características como HTML5, JavaScript, CSS y conversión de imágenes a PDF, añadiendo encabezados/pies de página, y más. Se enfoca en la productividad del desarrollador y la facilidad de uso.
¿Qué se necesita para integrar iTextPDF en un proyecto Java?
Para incluir iTextPDF en su proyecto Java, necesita agregar los detalles de su repositorio Maven en su archivo pom.xml y descargar los archivos .jar necesarios para la integración.

















