В предыдущей главе мы увидели, как добавить JavaScript в документ PDF. Давайте теперь узнаем, как разделить данный документ PDF на несколько документов.
Разделение страниц в документе PDF
Вы можете разделить данный PDF-документ на несколько PDF-документов, используя класс с именем Splitter. Этот класс используется для разделения данного документа PDF на несколько других документов.
Ниже приведены шаги для разделения существующего документа PDF.
Шаг 1. Загрузка существующего PDF-документа
Загрузите существующий документ PDF, используя статический метод load () класса PDDocument . Этот метод принимает объект файла в качестве параметра, поскольку это статический метод, который можно вызвать, используя имя класса, как показано ниже.
File file = new File("path of the document") PDDocument document = PDDocument.load(file);
Шаг 2: Создание класса Splitter
Класс с именем Splitter содержит методы для разделения данного документа PDF, поэтому создайте экземпляр этого класса, как показано ниже.
Splitter splitter = new Splitter();
Шаг 3: Разделение PDF-документа
Вы можете разделить данный документ, используя метод Split () класса Splitter этого класса. Этот метод принимает объект класса PDDocument в качестве параметра.
List<PDDocument> Pages = splitter.split(document);
Метод split () разделяет каждую страницу данного документа как отдельный документ и возвращает их в виде списка.
Шаг 4: Создание объекта Iterator
Чтобы просмотреть список документов, вам нужно получить объект итератора списка, полученного на предыдущем шаге, вам нужно получить объект итератора списка с помощью метода listIterator (), как показано ниже.
Iterator<PDDocument> iterator = Pages.listIterator();
Шаг 5: Закрытие документа
Наконец, закройте документ, используя метод close () класса PDDocument, как показано ниже.
document.close();
пример
Предположим, есть PDF-документ с именем sample.pdf по пути C: \ PdfBox_Examples \, и этот документ содержит две страницы — одну страницу с изображением и другую страницу с текстом, как показано ниже.
Этот пример демонстрирует, как разделить вышеупомянутый документ PDF. Здесь мы разделим документ PDF с именем sample.pdf на два разных документа sample1.pdf и sample2.pdf . Сохраните этот код в файле с именем SplitPages.java.
import org.apache.pdfbox.multipdf.Splitter; import org.apache.pdfbox.pdmodel.PDDocument; import java.io.File; import java.io.IOException; import java.util.List; import java.util.Iterator; public class SplitPages { public static void main(String[] args) throws IOException { //Loading an existing PDF document File file = new File("C:/PdfBox_Examples/sample.pdf"); PDDocument document = PDDocument.load(file); //Instantiating Splitter class Splitter splitter = new Splitter(); //splitting the pages of a PDF document List<PDDocument> Pages = splitter.split(document); //Creating an iterator Iterator<PDDocument> iterator = Pages.listIterator(); //Saving each page as an individual document int i = 1; while(iterator.hasNext()) { PDDocument pd = iterator.next(); pd.save("C:/PdfBox_Examples/sample"+ i++ +".pdf"); } System.out.println("Multiple PDF’s created"); document.close(); } }
Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды
javac SplitPages.java java SplitPages
После выполнения вышеуказанная программа шифрует данный PDF-документ, отображая следующее сообщение.
Multiple PDF’s created
Если вы проверите указанный путь, вы увидите, что было создано несколько файлов PDF с именами sample1 и sample2, как показано ниже.