In the previous chapter, we have seen how to split a given PDF document into multiple documents. Let us now learn how to merge multiple PDF documents as a single document.
You can merge multiple PDF documents into a single PDF document using the class named PDFMergerUtility class, this class provides methods to merge two or more PDF documents in to a single PDF document.
Following are the steps to merge multiple PDF documents.
Instantiate the merge utility class as shown below.
PDFMergerUtility PDFmerger = new PDFMergerUtility();
Set the destination files using the setDestinationFileName() method as shown below.
PDFmerger.setDestinationFileName("C:/PdfBox_Examples/data1/merged.pdf");
Set the source files using the addSource() method as shown below.
File file = new File("path of the document") PDFmerger.addSource(file);
Merge the documents using the mergeDocuments() method of the PDFmerger class as shown below.
PDFmerger.mergeDocuments();
Suppose, we have two PDF documents — sample1.pdf and sample2.pdf, in the path C:\PdfBox_Examples\ as shown below.
This example demonstrates how to merge the above PDF documents. Here, we will merge the PDF documents named sample1.pdf and sample2.pdf in to a single PDF document merged.pdf. Save this code in a file with name MergePDFs.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 and execute the saved Java file from the command prompt using the following commands.
javac MergePDFs.java java MergePDFs
Upon execution, the above program encrypts the given PDF document displaying the following message.
Documents merged
If you verify the given path, you can observe that a PDF document with name merged.pdf is created and this contains the pages of both the source documents as shown below.