PDF — один из самых известных форматов файлов, поддерживающих текстовые, графические и многие другие элементы. Одной из причин его популярности является его портативность. В некоторых случаях вам может понадобиться разделить большой файл PDF на несколько файлов. Чтобы решить эту проблему программно, в этой статье обсуждаются различные способы разделения PDF-файлов в Java.
- Java API для разделения файлов PDF
- Разделить PDF на многостраничные файлы
- Разделить PDF на несколько файлов с отдельными страницами
- Извлечение страниц из PDF-файлов по диапазону в Java
- Извлечение страниц из 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, посетите документацию. По вопросам обращайтесь к нам через форум.