Combinar archivos PDF en un solo PDF

En varios escenarios, se encuentra con la necesidad de fusionar dos o más documentos PDF en un solo archivo. Por ejemplo, la combinación de PDF le permite combinar tipos similares de documentos. Además, puede combinar varios PDF en un solo PDF antes de compartirlo en línea o enviárselo a alguien. En este artículo, demostraré cómo automatizar esta función y fusionar varios archivos PDF mediante programación usando Java.

API de Java para fusionar archivos PDF

Aspose.PDF for Java es una API de PDF rica en funciones que le permite fusionar varios documentos PDF con bastante facilidad en unas pocas líneas de código. Puede descargar el JAR de la API o instalarlo en su aplicación basada en Maven usando la siguiente configuración.

Repositorio:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Dependencia:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.5</version>
    <classifier>jdk17</classifier>
</dependency>

Combinar dos archivos PDF en un solo PDF en Java

Veamos primero el escenario simple de fusionar solo dos archivos PDF y esto se puede lograr en un par de pasos.

El siguiente ejemplo de código muestra cómo fusionar dos archivos PDF en un solo PDF usando Java.

// Crear editor de PDF
PdfFileEditor fileEditor = new PdfFileEditor();
// Combinar dos archivos PDF
fileEditor.concatenate("file1.pdf", "file2.pdf", "merged-pdf.pdf");

Combinar múltiples archivos PDF usando Java

En el ejemplo anterior, hemos fusionado solo dos archivos PDF en un solo PDF. Sin embargo, podría darse el caso de que necesite fusionar más de dos archivos PDF. En tales casos, puede pasar una matriz a las rutas de los archivos PDF al método de concatenación. Los siguientes son los pasos para realizar esta operación.

El siguiente ejemplo de código muestra cómo fusionar varios archivos PDF en un solo PDF usando Java.

// Crear objeto PdfFileEditor
PdfFileEditor fileEditor = new PdfFileEditor();
String[] files = new String[] { "file1.pdf", "file2.pdf", "pdf3.pdf" };
// Combinar varios archivos PDF
fileEditor.concatenate(files, "merged-pdf.pdf");

Combinar archivos PDF usando InputStream en Java

En caso de que esté tratando con los archivos PDF en forma de InputStream, puede pasar directamente los objetos InputStream y obtener el PDF combinado como un objeto OutputStream. Los siguientes son los pasos para fusionar archivos PDF cargados en objetos InputStream.

El siguiente ejemplo de código muestra cómo fusionar archivos PDF utilizando objetos InputStream en Java.

// Crear objeto PdfFileEditor
PdfFileEditor fileEditor = new PdfFileEditor();
// Primer archivo PDF
InputStream stream1 = new FileInputStream("file1.pdf");
// Segundo archivo PDF
InputStream stream2 = new FileInputStream("file2.pdf");
// OutputStream para PDF combinado
OutputStream outstream = new FileOutputStream("merged.pdf");
// Combinar archivos PDF
fileEditor.concatenate(stream1, stream2, outstream);

Conclusión

En este artículo, aprendió cómo fusionar archivos PDF mediante programación usando Java. Los ejemplos de código y la guía paso a paso muestran cómo fusionar dos o más archivos PDF utilizando rutas físicas u objetos InputStream. Puede obtener más información sobre la biblioteca Java PDF Merger utilizando la documentación.

Ver también