Java Combinar archivos PDF en un solo PDF
PDF es un Formato de Documento Portátil, que es una forma electrónica de nuevo documento 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 biblioteca de Java, está bien adaptada para manipular y trabajar con archivos PDF existentes con facilidad.
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 biblioteca de Java para realizar la fusión de archivos PDF
- Utilice el método renderHtmlAsPdf para generar múltiples PDFs
- Fusionar PDFs con el método
merge
en Java - Utilice el método saveAs para guardar el documento PDF fusionado
- Fusionar más de dos archivos PDF creando una lista de objetos PDF y utilizando el método
merge
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 ofrece Soporte Multiplataforma. Está diseñado específicamente para Java 8+, Kotlin y Scala que se ejecutan 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. Puedes descargarlo directamente desde [aquí](https://search.maven.org/artifact/com.ironsoftware/ironpdf" target="_blank" rel="nofollow noreferrer noopener).
-
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.
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>com.ironsoftware</artifactId>
<version>2025.3.6</version>
</dependency>XML
Otra dependencia necesaria para fusionar archivos PDF es Slf4j-simple. También puedes añadirlo al archivo pom.xml usando el siguiente código o puedes visitar el sitio web de Maven [aquí](https://search.maven.org/artifact/org.slf4j/slf4j-simple" target="_blank" rel="nofollow noopener noreferrer)[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
Para combinar archivos PDF, primero necesitamos crear archivos PDF y luego convertirlos en un archivo PDF final combinado. 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. Luego, se llama al método renderHtmlAsPdf de IronPDF y ambas cadenas HTML se convierten en documentos PDF individuales.
El método para combinar 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 al agregar 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
Para fusionar más de dos documentos PDF, primero crearemos una colección que contenga los objetos PdfDocument
requeridos, y luego pasaremos la lista como un solo argumento 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, llenamos una nueva colección List
con cada uno de los PDFs, y luego pasamos esta lista al método de combinación como un ú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.
Puedes obtener más información sobre cómo utilizar IronPDF for Java en nuestras páginas de Ejemplos de Código.
IronPDF es gratuito para el desarrollo y puede adquirirse bajo licencia para uso comercial. Para obtener más información sobre la licencia, visite el siguiente enlace.