Cómo Combinar Archivos PDF en Java

Java fusiona archivos PDF en un único PDF

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF for Java permite la fusión de múltiples documentos PDF en un solo archivo usando el método PdfDocument.merge(), admitiendo tanto la fusión de dos documentos como operaciones por lotes con colecciones de PDF.

Inicio rápido: fusionar archivos PDF en Java

  1. Agrega la dependencia de IronPDF a tu 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>
    XML
  2. Crear documentos PDF a partir de HTML:

    PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
    PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
    PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
    PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
    JAVA
  3. Fusionar PDF y guardar:
    :title=MergeExample.java
    PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
    merged.saveAs(Paths.get("assets/merged.pdf"));
    :title=MergeExample.java
    PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
    merged.saveAs(Paths.get("assets/merged.pdf"));
    JAVA

PDF es un formato de documento portátil, una forma electrónica de un documento que contiene texto y gráficos. Muestra el mismo contenido y diseño en todos los sistemas operativos, dispositivos o aplicaciones de software.

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 hace que sea fácil moverse entre diferentes sistemas informáticos. Sin embargo, trabajar con archivos PDF de origen y flujos de entrada puede resultar complicado en Java. IronPDF, una biblioteca Java, es muy adecuada para manipular y trabajar fácilmente con archivos PDF existentes.

En esta guía práctica, aprenderás a instalar la biblioteca Java de IronPDF y fusionar múltiples documentos PDF. Tanto si está consolidando informes, combinando documentos escaneados o ensamblando formularios de varias partes, IronPDF proporciona una API sencilla que gestiona internamente las complejidades de la manipulación de PDF.

¿Qué es IronPDF y por qué utilizarlo para la fusión de PDF?

IronPDF es una biblioteca de Java para crear, leer y editar documentos PDF sencillos o múltiples. Permite a los 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 fusionar varios archivos PDF, lo que facilita la combinación de contenidos 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 debe ofrecer soporte multiplataforma. Está diseñado específicamente para Java 8+, Kotlin y Scala ejecutándose en Windows, Linux y plataformas en la nube.

IronPDF gestiona las operaciones de fusión de PDF con eficacia porque mantiene la integridad del documento, conserva el formato, gestiona diseños complejos y procesa archivos de gran tamaño con eficiencia. La funcionalidad de fusión de la biblioteca admite varios escenarios, como anexar documentos secuencialmente, insertar páginas en posiciones específicas y combinar PDF con diferentes tamaños u orientaciones de página.

¿Cuáles son los requisitos previos para combinar archivos PDF en Java?

Para fusionar varios archivos PDF, necesitarás lo siguiente:

  1. Cualquier IDE compatible con Java (NetBeans, Eclipse, IntelliJ, etc.). Usaremos IntelliJ aquí para fusionar múltiples PDFs.
  2. Un proyecto Maven ejecutándose en el IDE.
  3. Java Development Kit (JDK) versión 8 o superior instalado en su sistema.
  4. Conocimientos básicos de programación Java y gestión de dependencias de Maven.

¿Cómo instalar IronPDF para la fusión de PDF?

Lo primero que necesitamos para fusionar archivos PDF es la biblioteca Java IronPDF. Hay tres maneras de descargar e instalar IronPDF en cualquier proyecto.

  1. Puedes añadir la dependencia de IronPDF en el archivo pom.xml de un proyecto Maven y usar la herramienta de línea de comandos de Maven o un IDE para descargar la biblioteca directamente desde el repositorio central.
  2. Otra forma es visitar el sitio web de Maven y descargar la última versión de IronPDF. Puedes descargarlo directamente desde aquí.
  3. También puedes 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. Para instrucciones detalladas de instalación e implementación de la clave de licencia, visita la guía de uso de claves de licencia.

<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>
XML

Una dependencia más requerida para fusionar PDFs es Slf4j-simple. También puedes añadirla al archivo pom.xml usando el siguiente código o puedes visitar el sitio web de Maven aquí.

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
XML
pom.xml de Maven que muestra las dependencias de IronPDF y SLF4J para la configuración de un proyecto de combinación de PDF

Dependencias en pom.xml

También se requieren las siguientes sentencias de importación en el archivo main.java para usar las funciones de IronPDF para fusionar archivos PDF.

import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
JAVA
Icon Quote related to ¿Cómo instalar IronPDF para la fusión de PDF?

Mi biblioteca favorita de este tipo es IronPDF. Permite una manipulación rápida y eficiente de archivos PDF. También tiene muchas funciones valiosas, como exportar al formato PDF/A y firmar documentos PDF digitalmente.

Milan Jovanovic related to ¿Cómo instalar IronPDF para la fusión de PDF?

Milan Jovanovic

Microsoft MVP

Ver estudio de caso
Icon Quote related to ¿Cómo instalar IronPDF para la fusión de PDF?

IronOCR significa que podemos ahorrar $40,000 anualmente en el procesamiento manual, mientras mejoramos la productividad y liberamos recursos para tareas de alto impacto. Lo recomendaría encarecidamente.

Brent Matzelle related to ¿Cómo instalar IronPDF para la fusión de PDF?

Brent Matzelle

Director de Tecnología, OPYN

Ver estudio de caso
Icon Quote related to ¿Cómo instalar IronPDF para la fusión de PDF?

El Iron Suite juega un papel crucial en nuestras operaciones. Estas son herramientas que aumentan la eficiencia en toda la empresa, incluyendo la creación de planos y la mejora en la gestión de inventario.

David Jones related to ¿Cómo instalar IronPDF para la fusión de PDF?

David Jones

Ingeniero de Software Principal, Agorus Build

Ver estudio de caso

¿Cómo combinar dos archivos PDF en Java con IronPDF?

Para fusionar archivos PDF, primero necesitamos crear archivos PDF y luego convertirlos en un archivo PDF final fusionado. 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>";

// Crear objetos PdfDocument usando el contenido HTML
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);

// Combinar los dos documentos PDF en un solo documento
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
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>";

// Crear objetos PdfDocument usando el contenido HTML
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);

// Combinar los dos documentos PDF en un solo documento
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
JAVA

El código anterior crea dos cadenas que contienen marcado HTML. El contenido HTML de cada variable abarca dos páginas. Luego, se llama al método renderHtmlAsPdf de IronPDF para convertir ambas cadenas HTML en documentos PDF individuales. Para conocer opciones más avanzadas de conversión de HTML a PDF, incluidas fuentes y estilos personalizados, consulte el tutorial HTML a PDF.

El método para fusionar archivos PDF es PdfDocument.merge. Este método se llama arriba para fusionar los dos documentos PDF en uno solo. El resultado es un nuevo PdfDocument producido al añadir el contenido del segundo PdfDocument al final del primero.

¿Cómo guardo el documento PDF fusionado?

Para guardar el archivo PDF fusionado en la ruta de archivo de destino deseada, simplemente usa la siguiente línea:

merged.saveAs(Paths.get("assets/merged.pdf"));
merged.saveAs(Paths.get("assets/merged.pdf"));
JAVA

La salida del archivo PDF fusionado se muestra a continuación:

Visor de PDF que muestra un documento combinado de 4 páginas con un panel de navegación de miniaturas

Combinar varios documentos PDF

¿Cómo puedo combinar más de dos archivos PDF a la vez?

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 único argumento al método PdfDocument.merge. El código es el siguiente:

import java.util.List;
import java.util.ArrayList;

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>";

    // Creando objetos PdfDocument
    PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
    PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
    PdfDocument pdfC = PdfDocument.renderHtmlAsPdf(htmlC);
    PdfDocument pdfD = PdfDocument.renderHtmlAsPdf(htmlD);

    // Añadir documentos a una lista
    List<PdfDocument> pdfs = new ArrayList<>();
    pdfs.add(pdfA);
    pdfs.add(pdfB);
    pdfs.add(pdfC);
    pdfs.add(pdfD);

    // Combinar todos los documentos en un solo PDF
    PdfDocument merged = PdfDocument.merge(pdfs);

    // Guardar el documento PDF combinado
    merged.saveAs(Paths.get("assets/more_than_two_merged.pdf"));
}
import java.util.List;
import java.util.ArrayList;

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>";

    // Creando objetos PdfDocument
    PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
    PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
    PdfDocument pdfC = PdfDocument.renderHtmlAsPdf(htmlC);
    PdfDocument pdfD = PdfDocument.renderHtmlAsPdf(htmlD);

    // Añadir documentos a una lista
    List<PdfDocument> pdfs = new ArrayList<>();
    pdfs.add(pdfA);
    pdfs.add(pdfB);
    pdfs.add(pdfC);
    pdfs.add(pdfD);

    // Combinar todos los documentos en un solo PDF
    PdfDocument merged = PdfDocument.merge(pdfs);

    // Guardar el documento PDF combinado
    merged.saveAs(Paths.get("assets/more_than_two_merged.pdf"));
}
JAVA

Cuatro documentos PDF se crean arriba usando el método de renderización de HTML. A continuación, poblamos una nueva colección List con cada uno de los PDFs, y luego pasamos esta lista al método merge como un único argumento. Como resultado, estos PDFs se fusionan en un único documento PDF.

Para situaciones de fusión más complejas, como la fusión de páginas o rangos específicos de distintos PDF, puede combinar la funcionalidad de fusión con las funciones de manipulación de páginas. Obtenga más información sobre las operaciones a nivel de página en la guía Dividir PDF.

Visor de PDF que muestra un documento combinado con 8 páginas, demostrando la combinación correcta de varios archivos PDF usando IronPDF de Java

Más de dos archivos PDF fusionados

Opciones avanzadas de fusión

Además de la fusión básica, IronPDF ofrece funciones adicionales para la manipulación avanzada de PDF:

  1. Fusión selectiva de páginas: Extraer páginas específicas de los PDF fuente antes de combinarlos
  2. Insertar en una posición: Añadir PDFs en posiciones específicas dentro de un documento existente
  3. Preservar metadatos: Mantener propiedades y metadatos del documento durante las operaciones de fusión
  4. Manejar archivos grandes: Procesar eficientemente archivos PDF grandes sin problemas de memoria

He aquí un ejemplo de fusión selectiva de páginas:

// Cargar PDFs existentes
PdfDocument existingPdf = PdfDocument.fromFile(Paths.get("source.pdf"));
PdfDocument newPages = PdfDocument.fromFile(Paths.get("additional.pdf"));

// Extraer páginas específicas (páginas 2-4 del nuevo PDF)
PdfDocument selectedPages = newPages.extractPages(1, 3); // Indexado desde cero

// Combinar las páginas seleccionadas con el PDF existente
PdfDocument finalPdf = PdfDocument.merge(existingPdf, selectedPages);
finalPdf.saveAs(Paths.get("merged_selective.pdf"));
// Cargar PDFs existentes
PdfDocument existingPdf = PdfDocument.fromFile(Paths.get("source.pdf"));
PdfDocument newPages = PdfDocument.fromFile(Paths.get("additional.pdf"));

// Extraer páginas específicas (páginas 2-4 del nuevo PDF)
PdfDocument selectedPages = newPages.extractPages(1, 3); // Indexado desde cero

// Combinar las páginas seleccionadas con el PDF existente
PdfDocument finalPdf = PdfDocument.merge(existingPdf, selectedPages);
finalPdf.saveAs(Paths.get("merged_selective.pdf"));
JAVA

¿Cuáles son los puntos clave para fusionar archivos PDF con IronPDF?

Este artículo explicó cómo fusionar archivos PDF usando IronPDF for Java.

Primero cubrimos cómo instalar IronPDF for Java usando Maven, y luego vimos cómo generar PDFs usando los métodos de renderizado de HTML. Después, vimos cómo fusionar dos o más PDFs en un solo archivo PDF.

IronPDF funciona 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.

El Motor Iron for Java permite la conversión de HTML/URL/Cadena a PDF con tipos de documentos de estándar abierto como HTML, CSS, JS, JPG y PNG. Produce documentos PDF con precisión en pixeles y está construido con la tecnología más reciente. Para el despliegue en plataformas en la nube, consulte nuestras guías para Despliegue en AWS, Despliegue en Azure, o Despliegue en Google Cloud.

Puedes obtener más información sobre cómo usar IronPDF for Java en nuestras páginas de Ejemplos de Código. Para conocer otras funciones de manipulación de PDF, explore nuestros tutoriales sobre compresión de PDF, adición de marcas de agua o creación de formularios PDF.

IronPDF es gratuito para el desarrollo y se puede licenciar para uso comercial. Para más información sobre la licencia, visita el siguiente enlace.

Preguntas Frecuentes

¿Cómo fusiono dos archivos PDF en Java?

Con IronPDF, puede fusionar dos archivos PDF utilizando el método PdfDocument.merge(). Simplemente cree o cargue sus documentos PDF, luego llame a PdfDocument.merge(pdfA, pdfB) y guarde el resultado usando el método saveAs().

¿Qué versión de Java se necesita para la fusión de PDF?

IronPDF está diseñado específicamente para Java 8 y versiones superiores, y también es compatible con Kotlin y Scala. Funciona en Windows, Linux y plataformas en la nube sin necesidad de bibliotecas de terceros ni marcos de trabajo externos.

¿Puedo fusionar más de dos PDF a la vez?

Sí, IronPDF admite operaciones por lotes para fusionar varios PDF. Puede crear una lista de objetos PDF y utilizar el método de fusión para combinarlos todos en un único documento en una sola operación.

¿Cómo añado la biblioteca PDF merge a mi proyecto Maven?

Añada IronPDF como dependencia en su archivo pom.xml incluyendo el groupId de com.ironsoftware con el artifactId de ironpdf. Esto le dará acceso a todas las funciones de manipulación de PDF, incluida la fusión.

¿La fusión de PDF conserva el formato original?

Sí, IronPDF mantiene la integridad del documento al fusionar archivos PDF. Conserva el formato, gestiona diseños complejos y procesa archivos de gran tamaño de forma eficaz, manteniendo el aspecto original de cada documento.

¿Puedo crear PDF a partir de HTML antes de fusionarlos?

Por supuesto IronPDF le permite crear archivos PDF a partir de HTML utilizando el método renderHtmlAsPdf(). Puede generar varios PDF a partir de contenido HTML y luego fusionarlos utilizando la misma funcionalidad de fusión.

Darrius Serrant
Ingeniero de Software Full Stack (WebOps)

Darrius Serrant tiene una licenciatura en Ciencias de la Computación de la Universidad de Miami y trabaja como Ingeniero de Marketing WebOps Full Stack en Iron Software. Atraído por la programación desde joven, vio la computación como algo misterioso y accesible, convirtiéndolo en el ...

Leer más
¿Listo para empezar?
Versión: 2026.6 recién publicada
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida?
ejecutar una muestra Mira cómo tu HTML se convierte en PDF.