Java Combinar archivos PDF en un solo PDF
PDF es un formato de documento portátil, que es una forma electrónica de documento nuevo que contiene texto y gráficos. Es un formato independiente que muestra el mismo contenido y diseño en todos los sistemas operativos, dispositivos o aplicaciones informáticas.
Java es un lenguaje de programación de alto nivel que, al igual que los datos PDF, también es independiente de la plataforma. Esto facilita el paso de un sistema informático a otro. Sin embargo, trabajar con archivos PDF de origen y flujo de entrada puede ser una tarea difícil en Java. IronPDF - Una Librería Java, es muy adecuada para manipular y trabajar con archivos PDF existentes fácilmente.
En esta guía práctica aprenderá a instalar la biblioteca Java IronPDF y a combinar varios documentos PDF.
Cómo combinar archivos PDF en Java
- Instalar la biblioteca Java para realizar la fusión de archivos PDF
- Utilice renderHtmlAsPdf método para generar varios PDF
- Fusionar PDF con
fusionar
en Java - Utilice saveAs método to save the fusionard PDF document
- Fusionar más de dos PDF creando una lista de objetos PDF y utilizando
fusionar
método
IronPDF: Biblioteca Java
IronPDF es una biblioteca Java para crear, leer y editar uno o varios documentos PDF. Permite a sus usuarios crear todos los archivos PDF desde cero, incluida la apariencia del contenido mediante renderizado HTML, así como metadatos como el título y el nombre del autor. La biblioteca también permite combinar varios archivos PDF, lo que facilita enormemente la combinación del contenido en una ruta de archivo PDF de destino. No requiere bibliotecas de terceros, marcos externos ni integración de plataformas para trabajar con archivos PDF u objetos iteradores PDF. También proporciona Soporte multiplataforma. Está diseñado específicamente para Java 8+, Kotlin y Scala ejecutándose en Windows, Linux y plataformas en la nube.
Requisitos previos
Para fusionar varios archivos PDF, necesitará lo siguiente:
- Cualquier IDE compatible con Java (Netbeans, Eclipse, IntelliJ, etc.). Aquí utilizaremos IntelliJ para fusionar varios PDF.
- Un proyecto Maven ejecutándose en IDE
Instalar IronPDF
Lo primero que necesitamos para fusionar archivos PDF es la biblioteca Java IronPDF. Existen tres formas de descargar e instalar IronPDF en cualquier proyecto.
- Puede añadir la dependencia IronPDF en el archivo pom.xml de un proyecto Maven y utilizar la herramienta de línea de comandos maven o un IDE para descargar la biblioteca directamente desde el repositorio central.
- Otra forma es visitar el sitio web de Maven y descargar la última versión de IronPDF. Puede descargarlo en aquí directamente.
También puede visitar el sitio web de IronPDF para descargar directamente a través de este enlace.
En cada caso, se añade el siguiente código de dependencia al archivo pom.xml.
``xml-mvn-install-ao
Otra dependencia necesaria para fusionar archivos PDF es Slf4j-simple. También puede añadirlo al archivo pom.xml utilizando el siguiente código o puede visitar el sitio web de Maven aquí[aquí].
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
Las siguientes declaraciones de importación también son necesarias en el archivo main.java, para utilizar las funciones IronPDF para fusionar archivos PDF.
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
Fusionar dos archivos fuente PDF en Java con IronPDF
A fusionar PDF primero tenemos que crear archivos PDF y luego convertirlos en un archivo PDF fusionado final. El siguiente ejemplo de código hará precisamente eso:
String htmlA = "<p> [PDF_A] </p>"
+ "<p> [PDF_A] 1st Page </p>"
+ "<div style = 'page-break-after: always;' ></div>"
+ "<p> [PDF_A] 2nd Page</p>";
String htmlB = "<p> [PDF_B] </p>"
+ "<p> [PDF_B] 1st Page </p>"
+ "<div style = 'page-break-after: always;' ></div>"
+ "<p> [PDF_B] 2nd Page</p>";
//document and PdfReader objects
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
El código anterior crea dos cadenas que contienen marcas HTML. El contenido HTML de cada variable abarca dos páginas. A continuación, se llama al método renderHtmlAsPdf de IronPDF y ambas cadenas HTML se convierten en documentos PDF individuales.
El método para unir archivos PDF es PdfDocument.merge
. Se llama al método anterior para fusionar los dos documentos PDF en un único documento PDF. El resultado es un nuevo PdfDocument
producido añadiendo el contenido del segundo PdfDocument al final del primero.
Guardar varios documentos PDF fusionados
Para guardar el archivo PDF fusionado en la ruta de destino que desee, sólo tiene que utilizar la siguiente instrucción:
merged.saveAs(Paths.get("assets/merged.pdf"));
A continuación se muestra la salida del archivo PDF fusionado:
Fusionar más de dos archivos PDF
A fusionar más de dos PDF primero crearemos una colección que contenga los objetos PdfDocument
necesarios y luego pasaremos la lista como argumento único al método PdfDocument.merge
. El código es el siguiente:
import java.util.ArrayList;
import java.util.List;
public static void main(String [] args) throws IOException {
String htmlA = "<p> [PDF_A] </p>"
+ "<p> [PDF_A] 1st Page </p>"
+ "<div style = 'page-break-after: always;' ></div>"
+ "<p> [PDF_A] 2nd Page</p>";
String htmlB = "<p> [PDF_B] </p>"
+ "<p> [PDF_B] 1st Page </p>"
+ "<div style = 'page-break-after: always;' ></div>"
+ "<p> [PDF_B] 2nd Page</p>";
String htmlC = "<p> [PDF_C] </p>"
+ "<p> [PDF_C] 1st Page </p>"
+ "<div style = 'page-break-after: always;' ></div>"
+ "<p> [PDF_C] 2nd Page</p>";
String htmlD = "<p> [PDF_D] </p>"
+ "<p> [PDF_D] 1st Page </p>"
+ "<div style = 'page-break-after: always;' ></div>"
+ "<p> [PDF_D] 2nd Page</p>";
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
PdfDocument pdfC = PdfDocument.renderHtmlAsPdf(htmlC);
PdfDocument pdfD = PdfDocument.renderHtmlAsPdf(htmlD);
List<PdfDocument> pdfs = new ArrayList<>();
pdfs.add(pdfA);
pdfs.add(pdfB);
pdfs.add(pdfC);
pdfs.add(pdfD);
PdfDocument merged = PdfDocument.merge(pdfs);
merged.saveAs(Paths.get("assets/more_than_two_merged.pdf"));
}
Arriba se crean cuatro documentos PDF utilizando el método de renderizado HTML. A continuación, rellenamos una nueva colección List
con cada uno de los PDF y pasamos esta lista al método de fusión como único argumento. Como resultado, estos PDF se fusionan en un único documento PDF.
Conclusión
Este artículo explica cómo unir archivos PDF utilizando IronPDF for Java.
Primero cubrimos cómo instalar IronPDF for Java utilizando Maven, y luego mostramos una forma sencilla de producir PDFs utilizando los métodos de renderizado HTML. Después, vimos cómo fusionar dos o más PDF en un único archivo PDF.
IronPDF funciona muy bien y realiza todas las operaciones con rapidez y precisión. Es una excelente opción para trabajar con archivos PDF en Java. Además, se basa en las capacidades de IronPDF for .NET.
IronEngine para Java permite la conversión de HTML/URL/String a PDF con tipos de documentos estándar abiertos como HTML, CSS, JS, JPG y PNG. Produce documentos PDF perfectos y se basa en la tecnología más avanzada.
Puede obtener más información sobre cómo utilizar IronPDF for Java en nuestro Ejemplos de códigos páginas.
IronPDF es gratuito para el desarrollo y puede adquirirse bajo licencia para uso comercial. Para obtener más información sobre la licencia, visite la siguiente dirección enlace.