Разделить файлы PDF в Java

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

Java API для разделения PDF-файлов — скачать бесплатно

Чтобы разделить PDF-файлы, мы воспользуемся возможностями обработки PDF-файлов Aspose.PDF for Java. API позволяет выполнить операцию разделения PDF за несколько шагов. Вы можете либо загрузить API, либо установить его в своих приложениях на основе Maven, используя следующие конфигурации.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.12</version>
    <classifier>jdk17</classifier>
</dependency>

Разделить файл PDF с помощью Java

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

  • Загрузите документ PDF, используя класс Document.
  • Пролистайте страницы, используя метод Document.getPages().
  • Доступ к каждой странице в объекте Page.
  • На каждой итерации создавайте новый Документ, добавляйте текущую страницу в документ и сохраняйте ее как файл PDF с помощью метода Document.save(String).

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

// Открыть документ
Document pdfDocument = new Document("input.pdf");

// Для счетчика страниц
int pageCount = 1;

// Пролистайте все страницы
for (Page pdfPage : pdfDocument.getPages()) {
	// Создать новый документ
	Document newDocument = new Document();

	// Добавить страницу в документ
	newDocument.getPages().add(pdfPage);

	// Сохранить как PDF
	newDocument.save("page_" + pageCount + "_out" + ".pdf");
	pageCount++;
}

Разделить PDF-файл по коллекции страниц с помощью Java

Для демонстрации давайте посмотрим на другой сценарий разделения PDF. В этом примере мы разделим PDF-файл на четные и нечетные номера страниц. Ниже приведены шаги для выполнения этой операции.

  • Загрузите документ PDF, используя класс Document.
  • Пролистайте страницы, используя метод Document.getPages().
  • Разделяйте четные и нечетные страницы в ArrayList объекты.
  • Создайте новый объект Document, добавьте страницы в документ и сохраните его как файл PDF с помощью метода Document.save(String).

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

// Открыть документ
Document pdfDocument = new Document("input.pdf");

// Создание списков массивов для четных и нечетных страниц
List<Page> evenPages = new ArrayList<Page>();
List<Page> oddPages = new ArrayList<Page>();

// Пролистайте все страницы
for (Page pdfPage : pdfDocument.getPages())
{
	if(pdfPage.getNumber()%2==0)
	{
		evenPages.add(pdfPage);
	}
	else
	{
		oddPages.add(pdfPage);
	}		  	
}
// Сохраняйте четные страницы в формате PDF
Document newDocument = new Document();
newDocument.getPages().add(evenPages);
newDocument.save("split_even_Pages.pdf");

// Сохранить нечетные страницы в формате PDF
newDocument = new Document();
newDocument.getPages().add(oddPages);
newDocument.save("split_odd_Pages.pdf");

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

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

Вывод

В этой статье вы узнали, как разделить файл PDF с помощью Java. Кроме того, вы увидели, как настроить критерии разделения PDF в соответствии с требованиями. Вы можете узнать больше об API, используя документацию.

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