Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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 para desarrolladores de Java más conocidas para editar, imprimir y crear archivos PDF:
-Biblioteca Java IronPDF: Una biblioteca PDF de Java que se centra en la generación de archivos 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.
Para instalarIronPDF for JavaBasta 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.11.4</version>
</dependency>
Nota: puede descargar el .jar manualmente:
Ir aRepositorio IronPDF for Java Maven para acceder a la página Maven Repo.
Extraiga el contenido del archivo zip.
Crea una carpeta y copia el contenido de la carpeta zip.
Abra Eclipse IDE.
Cree un nuevo proyecto Java.
Añada los archivos .jar de IronPDF en la ruta de la clase.
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:
ITextPDF está disponible gratuitamente ensitio 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>
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.
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
.se encarga de convertir el contenido HTML a PDF. Este método acepta la entrada HTML como una
String, un
File, o un
InputStream, y devuelve un
File, un
OutputStream, o un objeto
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!" );
}
}
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"));
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>
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!" );
}
}
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"));
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.
// 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"));
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!");
}
}
iTextSharp es de código abierto y tiene licencia AGLP.
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.
Póngase en contacto directamente con iText para discutir el precio de la licencia si tiene intención de utilizarla para aplicaciones empresariales.
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 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.
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.
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 elPaquete de software Ironjunto con el soporte continuo para cada una de ellas, por el coste de sólo dos bibliotecas de la suite.
9 productos API .NET para sus documentos de oficina