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.
- Combine dos archivos PDF en un solo PDF usando Java
- Combinar múltiples archivos PDF usando Java
- Use objetos InputStream para fusionar archivos PDF 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.
- Cree una instancia de la clase PdfFileEditor.
- Combine archivos PDF utilizando el método PdfFileEditor.concatenate(String firstInputFile, String secInputFile, String outputFile).
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.
- Cree una instancia de la clase PdfFileEditor.
- Coloque las rutas de los archivos PDF en una matriz de cadenas.
- Combine archivos PDF utilizando el método PdfFileEditor.concatenate(String[] inputFiles, String outputFile).
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.
- Cree una instancia de la clase PdfFileEditor.
- Cargue los archivos PDF en los objetos InputStream.
- Combine archivos PDF usando el método PdfFileEditor.concatenate(InputStream firstInputStream, InputStream secInputStream, OutputStream outputStream).
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.