PDFBox - Mesclando vários documentos PDF

No capítulo anterior, vimos como dividir um determinado documento PDF em vários documentos. Vamos agora aprender como mesclar vários documentos PDF em um único documento.

Mesclando vários documentos PDF

Você pode mesclar vários documentos PDF em um único documento PDF usando a classe chamada PDFMergerUtility , esta classe fornece métodos para mesclar dois ou mais documentos PDF em um único documento PDF.

A seguir estão as etapas para mesclar vários documentos PDF.

Etapa 1: instanciando a classe PDFMergerUtility

Instancie a classe do utilitário de mesclagem conforme mostrado abaixo.

PDFMergerUtility PDFmerger = new PDFMergerUtility();

Etapa 2: definir o arquivo de destino

Defina os arquivos de destino usando o método setDestinationFileName () conforme mostrado abaixo.

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

Etapa 3: definir os arquivos de origem

Defina os arquivos de origem usando o método addSource () conforme mostrado abaixo.

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

Etapa 4: Mesclar os documentos

Mescle os documentos usando o método mergeDocuments () da classe PDFmerger, conforme mostrado abaixo.

PDFmerger.mergeDocuments();

Exemplo

Suponha que temos dois documentos PDF - sample1.pdf e sample2.pdf, no caminho C:\PdfBox_Examples\ como mostrado abaixo.

Este exemplo demonstra como mesclar os documentos PDF acima. Aqui, mesclaremos os documentos PDF chamadossample1.pdf e sample2.pdf em um único documento PDF merged.pdf. Salve este código em um arquivo com o nomeMergePDFs.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 e execute o arquivo Java salvo no prompt de comando usando os comandos a seguir.

javac MergePDFs.java 
java MergePDFs

Após a execução, o programa acima criptografa o documento PDF fornecido exibindo a seguinte mensagem.

Documents merged

Se você verificar o caminho fornecido, você pode observar que um documento PDF com o nome merged.pdf é criado e contém as páginas de ambos os documentos de origem, conforme mostrado abaixo.