Учебники

PDFBox — объединение нескольких документов PDF

В предыдущей главе мы увидели, как разбить данный документ PDF на несколько документов. Давайте теперь узнаем, как объединить несколько документов PDF в один документ.

Объединение нескольких документов PDF

Вы можете объединить несколько документов PDF в один документ PDF, используя класс с именем класса PDFMergerUtility , этот класс предоставляет методы для объединения двух или более документов PDF в один документ PDF.

Ниже приведены шаги для объединения нескольких документов PDF.

Шаг 1. Загрузка существующего PDF-документа

Загрузите существующий документ PDF, используя статический метод load () класса PDDocument . Этот метод принимает объект файла в качестве параметра, поскольку это статический метод, который можно вызвать, используя имя класса, как показано ниже.

File file = new File("path of the document") 
PDDocument document = PDDocument.load(file);

Шаг 2. Создание класса PDFMergerUtility

создать экземпляр класса слияния, как показано ниже.

PDFMergerUtility PDFmerger = new PDFMergerUtility(); 

Шаг 3: Настройка файла назначения

Установите файлы назначения, используя метод setDestinationFileName (), как показано ниже.

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

Шаг 4: Установка исходных файлов

Установите исходные файлы, используя метод addSource (), как показано ниже.

PDFmerger.addSource(file1);

Шаг 5: Слияние документов

Объедините документы с помощью метода mergeDocuments () класса PDFmerger, как показано ниже.

PDFmerger.mergeDocuments();

Шаг 6: Закрытие документа

Наконец закройте документ, используя метод close () класса PDDocument, как показано ниже.

document.close();

пример

Предположим, у нас есть два документа PDF — sample1.pdf и sample2.pdf по пути C: \ PdfBox_Examples \, как показано ниже.

Файл изображения.jpgСодержимое File.jpg

Этот пример демонстрирует, как объединить вышеуказанные документы PDF. Здесь мы объединяем документы PDF с именем sample1.pdf и sample2.pdf в один документ PDF merged.pdf . Сохраните этот код в файле с именем MergePDFs.java.

import org.apache.pdfbox.multipdf.PDFMergerUtility;
import org.apache.pdfbox.pdmodel.PDDocument;
  
import java.io.File; 
import java.io.IOException;

public class MergePDFs {
   public static void main(String[] args) throws IOException {

      //Loading an existing PDF document
      File file1 = new File("C:/PdfBox_Examples/sample1.pdf");
      PDDocument doc1 = PDDocument. load (file1);
       
      File file2 = new File("C:/PdfBox_Examples/sample2.pdf");
      PDDocument doc2 = PDDocument. load (file2);
         
      //Instantiating PDFMergerUtility class
      PDFMergerUtility PDFmerger = new PDFMergerUtility();

      //Setting the destination file
      PDFmerger.setDestinationFileName("C:/PdfBox_Examples/merged.pdf");

      //adding the source files
      PDFmerger.addSource(file1);
      PDFmerger.addSource(file2);

      //Merging the two documents
      PDFmerger.mergeDocuments();

      System.out.println("Documents merged");
      //Closing the documents
      doc1.close();
      doc2.close();
   }

}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды.

javac MergePDFs.java 
java MergePDFs 

После выполнения вышеуказанная программа шифрует данный PDF-документ, отображая следующее сообщение.

Documents merged

Если вы проверите указанный путь, вы увидите, что создан документ PDF с именем merged.pdf, и он содержит страницы обоих исходных документов, как показано ниже.