PDFBox: combinación de varios documentos PDF

En el capítulo anterior, hemos visto cómo dividir un documento PDF dado en varios documentos. Aprendamos ahora a combinar varios documentos PDF como un solo documento.

Fusionar varios documentos PDF

Puede combinar varios documentos PDF en un solo documento PDF utilizando la clase denominada PDFMergerUtility clase, esta clase proporciona métodos para combinar dos o más documentos PDF en un solo documento PDF.

Los siguientes son los pasos para fusionar varios documentos PDF.

Paso 1: creación de instancias de la clase PDFMergerUtility

Cree una instancia de la clase de utilidad de combinación como se muestra a continuación.

PDFMergerUtility PDFmerger = new PDFMergerUtility();

Paso 2: configuración del archivo de destino

Configure los archivos de destino utilizando el método setDestinationFileName () como se muestra a continuación.

PDFmerger.setDestinationFileName("C:/PdfBox_Examples/data1/merged.pdf");

Paso 3: configuración de los archivos de origen

Configure los archivos fuente usando el método addSource () como se muestra a continuación.

File file = new File("path of the document")
PDFmerger.addSource(file);

Paso 4: fusionar los documentos

Combine los documentos utilizando el método mergeDocuments () de la clase PDFmerger como se muestra a continuación.

PDFmerger.mergeDocuments();

Ejemplo

Supongamos que tenemos dos documentos PDF: sample1.pdf y sample2.pdf, en el camino C:\PdfBox_Examples\ Como se muestra abajo.

Este ejemplo demuestra cómo combinar los documentos PDF anteriores. Aquí, fusionaremos los documentos PDF llamadossample1.pdf y sample2.pdf en un solo documento PDF merged.pdf. Guarde este código en un archivo con nombreMergePDFs.java.

import org.apache.pdfbox.multipdf.PDFMergerUtility; 
import java.io.File; 
import java.io.IOException;
public class MergePDFs {
   public static void main(String[] args) throws IOException {
      File file1 = new File("C:\\EXAMPLES\\Demo1.pdf");       
      File file2 = new File("C:\\EXAMPLES\\Demo2.pdf");    
		
      //Instantiating PDFMergerUtility class
      PDFMergerUtility PDFmerger = new PDFMergerUtility();
		
      //Setting the destination file
      PDFmerger.setDestinationFileName("C:\\Examples\\merged.pdf");
		
      //adding the source files
      PDFmerger.addSource(file1);
      PDFmerger.addSource(file2);
		
      //Merging the two documents
      PDFmerger.mergeDocuments();
      System.out.println("Documents merged");
   }
}

Compile y ejecute el archivo Java guardado desde el símbolo del sistema utilizando los siguientes comandos.

javac MergePDFs.java 
java MergePDFs

Tras la ejecución, el programa anterior cifra el documento PDF dado que muestra el siguiente mensaje.

Documents merged

Si verifica la ruta dada, puede observar que un documento PDF con nombre merged.pdf se crea y contiene las páginas de ambos documentos fuente como se muestra a continuación.