Dividir PDF em vários arquivos em Java

PDF está entre os formatos de arquivo mais famosos que suportam elementos textuais, gráficos e muitos outros. Uma das razões para sua popularidade é sua portabilidade. Em certos casos, pode ser necessário dividir um arquivo PDF grande em vários arquivos. Para resolver isso programaticamente, este artigo discute diferentes maneiras de como dividir arquivos PDF em Java.

API Java para dividir arquivos PDF

GroupDocs.Merger fornece a solução para mesclar e dividir arquivos de vários formatos de arquivo diferentes. Usaremos sua API Java para dividir arquivos PDF de diferentes maneiras. Baixe o arquivo JAR da seção de downloads, ou apenas use as configurações mais recentes de repositório e dependência Maven em seus aplicativos 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>

Dividir arquivo PDF em arquivos MultiPage em Java

As etapas a seguir orientam como você pode dividir um arquivo PDF em arquivos de várias páginas:

  • Carregue o arquivo PDF usando a classe Merger.
  • Defina o formato do(s) arquivo(s) de saída.
  • Defina os intervalos de página usando SplitOptions.
  • Divida o PDF carregado de acordo com o intervalo definido usando o método split().

O exemplo de código a seguir mostra como dividir arquivos PDF em arquivos de várias páginas em Java.

/*
 * Divida arquivos PDF em vários arquivos de página em Java
 */
// Carregue o arquivo PDF
Merger merger = new Merger("path/document.pdf"); 

// Definir o formato do(s) arquivo(s) de saída
String filePathOut = "path/splitPDF_{0}.{1}";

// Definir intervalos de divisão e modo de divisão
SplitOptions splitOptions = new SplitOptions(filePathOut,  new int[] { 3, 6, 8 }, SplitMode.Interval);

// Dividir PDF de acordo com intervalos determinados
merger.split(splitOptions);

Dividir arquivo PDF em vários arquivos de página única em Java

As etapas a seguir orientam como você pode dividir um PDF para extrair páginas em vários arquivos de página única:

  • Carregue o arquivo PDF usando a classe Merger.
  • Defina o formato do(s) arquivo(s) de saída.
  • Defina os números de página exatos usando SplitOptions.
  • Divida o PDF carregado de acordo com as páginas definidas usando o método split().

O exemplo de código a seguir mostra como dividir arquivos PDF em vários arquivos de página única em Java.

/*
 * Divida o arquivo PDF em arquivos de página única em Java
 */
// Carregue o arquivo PDF
Merger merger = new Merger("path/document.pdf");

// Definir o formato do(s) arquivo(s) de saída
String filePathOut = "path/splitPDF_{0}.{1}"; 

// Definir páginas para serem extraídas como documento de página única
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 });

// Dividir PDF de acordo com as opções de divisão
merger.split(splitOptions);

Extraia páginas de arquivos PDF por intervalo em Java

As etapas a seguir orientam como extrair páginas do PDF dividindo de acordo com o intervalo fornecido:

  • Carregue o arquivo PDF usando a classe Merger.
  • Defina o formato do(s) arquivo(s) de saída.
  • Forneça o intervalo de páginas usando SplitOptions.
  • Use o método split() para dividir o PDF carregado de acordo com o intervalo definido.

O trecho de código a seguir mostra como dividir PDF e extrair páginas fornecendo intervalo em Java.

/*
 * Dividir arquivo PDF por determinado intervalo em arquivos de página única em Java
 */
// Carregue o arquivo PDF
Merger merger = new Merger("path/document.pdf"); 

// Definir o formato do(s) arquivo(s) de saída
String filePathOut = "path/splitPDF_{0}.{1}";

// Definir intervalo para extrair como documentos de página única
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7);

// Dividir PDF de acordo com as opções de divisão
merger.split(splitOptions);

Extraia páginas de arquivos PDF usando filtro par/ímpar em Java

As etapas a seguir orientam como extrair páginas pares/ímpares no intervalo fornecido do arquivo PDF, dividindo:

  • Carregue o arquivo PDF usando a classe Merger.
  • Defina o formato do(s) arquivo(s) de saída.
  • Forneça o intervalo de páginas usando SplitOptions.
  • Aplique o filtro par, ímpar ou todas as páginas usando RangeMode.
  • Use o método split() para dividir o PDF carregado de acordo com o filtro definido.

O trecho de código a seguir mostra como extrair todas as páginas pares/ímpares no intervalo definido de um arquivo PDF usando Java.

/*
 * Divida o arquivo PDF por intervalo e filtro fornecidos (páginas pares/ímpares) em arquivos de página única em Java
 */
// Carregue o arquivo PDF
Merger merger = new Merger("path/document.pdf"); 

// Definir o formato do(s) arquivo(s) de saída
String filePathOut = "path/splitPDF_{0}.{1}";

// Definir intervalo e filtro para extrair todas as páginas ODD no intervalo fornecido como documentos de página única
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7, (Integer)RangeMode.OddPages);

// Dividir PDF de acordo com as opções de divisão
merger.split(splitOptions);

Resumo da alteração de código

A única diferença nos cenários acima é a maneira de criar SplitOptions. Você pode usar as seguintes configurações de acordo com seus requisitos em seu código.

  • Para arquivos de várias páginas - Intervalo de uso: [1,2], [3,4,5], [6,7], [8,9,10].
new SplitOptions(outputFile,  new int[] { 3, 6, 8 }, SplitMode.Interval)
  • Páginas individuais: [3], [6], [8]
new SplitOptions(outputFile, new int[] { 3, 6, 8 });
  • Para extrair páginas no intervalo: [3], [4], [5]
new SplitOptions(outputFile, 3, 5);
  • Intervalo com filtro: [3], [5], [7]
new SplitOptions(outputFile, 3, 7, (Integer)RangeMode.OddPages);

Obtenha uma licença de API gratuita

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

Conclusão

Para resumir, você aprendeu diferentes maneiras de dividir arquivos PDF em Java. Primeiro, dividimos o arquivo PDF em documentos de várias páginas, bem como em vários documentos de página única. Então, uma a uma, extraímos todas as páginas e páginas pares/ímpares do arquivo PDF dentro do intervalo determinado. Agora você deve estar confiante para construir seu próprio aplicativo Java divisor de PDF usando a API GroupDocs.Merger.

Para saber mais sobre a API, visite a documentação. Para dúvidas, entre em contato conosco através do fórum.

Veja também