Разделить PDF на несколько файлов в Java

PDF — один из самых известных форматов файлов, поддерживающих текстовые, графические и многие другие элементы. Одной из причин его популярности является его портативность. В некоторых случаях вам может понадобиться разделить большой файл PDF на несколько файлов. Чтобы решить эту проблему программно, в этой статье обсуждаются различные способы разделения PDF-файлов в Java.

Java API для разделения файлов PDF

GroupDocs.Merger предоставляет решение для объединения и разделения файлов различных форматов. Мы будем использовать его Java API для разделения файлов PDF различными способами. Загрузите файл JAR из раздела загрузок или просто используйте последний репозиторий и конфигурации зависимостей Maven в своих приложениях Java.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-merger</artifactId>
        <version>21.9</version> 
</dependency>

Разделить файл PDF на многостраничные файлы в Java

Следующие шаги помогут вам разделить PDF-файл на многостраничные файлы:

  • Загрузите файл PDF, используя класс Merge.
  • Определите формат выходного файла (файлов).
  • Определите интервалы между страницами, используя SplitOptions.
  • Разделите загруженный PDF-файл в соответствии с заданным интервалом, используя метод split().

В следующем примере кода показано, как разделить PDF-файлы на многостраничные файлы в Java.

/*
 * Разделить файлы PDF на несколько файлов страниц в Java
 */
// Загрузите PDF-файл
Merger merger = new Merger("path/document.pdf"); 

// Определить формат выходного файла(ов)
String filePathOut = "path/splitPDF_{0}.{1}";

// Определите интервалы разделения и режим разделения
SplitOptions splitOptions = new SplitOptions(filePathOut,  new int[] { 3, 6, 8 }, SplitMode.Interval);

// Разделить PDF в соответствии с заданными интервалами
merger.split(splitOptions);

Разделить файл PDF на несколько одностраничных файлов в Java

Следующие шаги помогут вам разделить PDF-файл для извлечения страниц на несколько одностраничных файлов:

  • Загрузите файл PDF с помощью класса Merge.
  • Определите формат выходного файла (файлов).
  • Определите точные номера страниц, используя SplitOptions.
  • Разделите загруженный PDF-файл на определенные страницы, используя метод split().

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

/*
 * Разделить файл PDF на файлы с одной страницей в Java
 */
// Загрузите PDF-файл
Merger merger = new Merger("path/document.pdf");

// Определить формат выходного файла(ов)
String filePathOut = "path/splitPDF_{0}.{1}"; 

// Определите страницы для извлечения как одностраничный документ
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 });

// Разделить PDF в соответствии с параметрами разделения
merger.split(splitOptions);

Извлечение страниц из PDF-файлов по диапазону в Java

Следующие шаги помогут вам извлечь страницы из PDF путем разделения в соответствии с заданным диапазоном:

  • Загрузите файл PDF с помощью класса Merge.
  • Определите формат выходного файла (файлов).
  • Укажите диапазон страниц, используя SplitOptions.
  • Используйте метод split() для разделения загруженного PDF-файла в соответствии с заданным диапазоном.

В следующем фрагменте кода показано, как разделить PDF и извлечь страницы, предоставив диапазон в Java.

/*
 * Разделить PDF-файл по заданному диапазону на одностраничные файлы в Java
 */
// Загрузите PDF-файл
Merger merger = new Merger("path/document.pdf"); 

// Определить формат выходного файла(ов)
String filePathOut = "path/splitPDF_{0}.{1}";

// Определить диапазон для извлечения в виде одностраничных документов
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7);

// Разделить PDF в соответствии с параметрами разделения
merger.split(splitOptions);

Извлечение страниц из PDF-файлов с использованием четного/нечетного фильтра в Java

Следующие шаги показывают, как извлечь четные/нечетные страницы в заданном диапазоне из файла PDF путем разделения:

  • Загрузите файл PDF, используя класс Merge.
  • Определите формат выходного файла (файлов).
  • Укажите диапазон страниц, используя SplitOptions.
  • Примените фильтр четных, нечетных или всех страниц, используя RangeMode.
  • Используйте метод split() для разделения загруженного PDF-файла в соответствии с заданным фильтром.

В следующем фрагменте кода показано, как извлечь все нечетные/четные страницы в определенном диапазоне файла PDF с помощью Java.

/*
 * Разделить файл PDF по заданному диапазону и фильтру (четные/нечетные страницы) на файлы с одной страницей в Java
 */
// Загрузите PDF-файл
Merger merger = new Merger("path/document.pdf"); 

// Определить формат выходного файла(ов)
String filePathOut = "path/splitPDF_{0}.{1}";

// Определите диапазон и фильтр, чтобы извлечь все нечетные страницы в заданном диапазоне в виде одностраничных документов.
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7, (Integer)RangeMode.OddPages);

// Разделить PDF в соответствии с параметрами разделения
merger.split(splitOptions);

Сводка изменений кода

Единственное, что отличается в приведенных выше сценариях, — это способ создания SplitOptions. Вы можете использовать следующие конфигурации в соответствии с вашими требованиями в вашем коде.

  • Для многостраничных файлов используйте интервал: [1,2], [3,4,5], [6,7], [8,9,10].
new SplitOptions(outputFile,  new int[] { 3, 6, 8 }, SplitMode.Interval)
  • Отдельные страницы: [3], [6], [8]
new SplitOptions(outputFile, new int[] { 3, 6, 8 });
  • Чтобы извлечь страницы в диапазоне: [3], [4], [5]
new SplitOptions(outputFile, 3, 5);
  • Диапазон с фильтром: [3], [5], [7]
new SplitOptions(outputFile, 3, 7, (Integer)RangeMode.OddPages);

Получите бесплатную лицензию API

Вы можете получить бесплатную временную лицензию, чтобы использовать API без ограничений пробной версии.

Вывод

Подводя итог, вы узнали о различных способах разделения PDF-файлов в Java. Во-первых, мы разбиваем файл PDF на многостраничные документы, а также на несколько одностраничных документов. Затем одну за другой мы извлекли все страницы и четные/нечетные страницы файла PDF в заданном диапазоне. Теперь вы должны быть уверены, что сможете создать собственное Java-приложение для разделения PDF-файлов с помощью API GroupDocs.Merger.

Чтобы узнать больше об API, посетите документацию. По вопросам обращайтесь к нам через форум.

Смотрите также