Dividir arquivos PDF em Java

Pode haver vários casos em que você precisa dividir um PDF em vários arquivos PDF. Por exemplo, você pode ter que dividir cada página do PDF contendo faturas/recibos e salvá-los como arquivos separados. Por outro lado, você pode querer dividir uma coleção específica de páginas de um arquivo PDF. Para lidar com os cenários mencionados acima, este artigo aborda como dividir um arquivo PDF em vários PDFs usando Java.

API Java para dividir arquivos PDF – Download grátis

Para dividir os arquivos PDF, aproveitaremos os recursos de manipulação de PDF do Aspose.PDF for Java. A API permite que você execute uma operação de divisão de PDF em poucos passos. Você pode baixar a API ou instalá-la em seus aplicativos baseados em Maven usando as seguintes configurações.

<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>

Dividir um arquivo PDF usando Java

Os critérios de divisão de PDF podem variar em diferentes cenários conforme os requisitos. Primeiro, vamos ver como dividir um arquivo PDF por páginas e salvar cada página como um PDF separado. A seguir estão as etapas para realizar esta operação.

  • Carregue o documento PDF usando a classe Document.
  • Percorra as páginas usando o método Document.getPages().
  • Acesse cada página em um objeto Page.
  • Em cada iteração, crie um novo Document, adicione a página atual ao documento e salve-o como um arquivo PDF usando o método Document.save(String).

O exemplo de código a seguir mostra como dividir um arquivo PDF usando Java.

// Abrir documento
Document pdfDocument = new Document("input.pdf");

// Para contador de páginas
int pageCount = 1;

// Percorra todas as páginas
for (Page pdfPage : pdfDocument.getPages()) {
	// Criar um novo documento
	Document newDocument = new Document();

	// Adicionar página ao documento
	newDocument.getPages().add(pdfPage);

	// Salvar como PDF
	newDocument.save("page_" + pageCount + "_out" + ".pdf");
	pageCount++;
}

Dividir um arquivo PDF por coleção de páginas usando Java

Para a demonstração, vamos dar uma olhada em outro cenário de divisão de PDF. Neste exemplo, dividiremos um PDF com base em números de página pares e ímpares. A seguir estão as etapas para realizar esta operação.

  • Carregue o documento PDF usando a classe Document.
  • Percorra as páginas usando o método Document.getPages().
  • Separe páginas pares e ímpares em ArrayList objetos.
  • Crie um novo objeto Document, adicione páginas ao documento e salve-o como um arquivo PDF usando o método Document.save(String).

O exemplo de código a seguir mostra como dividir páginas pares e ímpares em um arquivo PDF usando Java.

// Abrir documento
Document pdfDocument = new Document("input.pdf");

// Crie listas de matrizes para páginas pares e ímpares
List<Page> evenPages = new ArrayList<Page>();
List<Page> oddPages = new ArrayList<Page>();

// Percorra todas as páginas
for (Page pdfPage : pdfDocument.getPages())
{
	if(pdfPage.getNumber()%2==0)
	{
		evenPages.add(pdfPage);
	}
	else
	{
		oddPages.add(pdfPage);
	}		  	
}
// Salvar páginas pares como PDF
Document newDocument = new Document();
newDocument.getPages().add(evenPages);
newDocument.save("split_even_Pages.pdf");

// Salvar páginas ímpares como PDF
newDocument = new Document();
newDocument.getPages().add(oddPages);
newDocument.save("split_odd_Pages.pdf");

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar a API sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como dividir um arquivo PDF usando Java. Além disso, você viu como personalizar os critérios de divisão de PDF de acordo com os requisitos. Você pode explorar mais sobre a API usando a documentação.

Veja também