Dividir archivos PDF en Java

Puede haber varios casos en los que necesite dividir un PDF en varios archivos PDF. Por ejemplo, es posible que deba dividir cada página del PDF que contiene facturas/recibos y guardarlos como archivos separados. Por otro lado, es posible que desee dividir una colección particular de páginas de un archivo PDF. Para hacer frente a los escenarios mencionados anteriormente, este artículo explica cómo dividir un archivo PDF en varios archivos PDF usando Java.

API de Java para dividir archivos PDF – Descarga gratuita

Para dividir los archivos PDF, aprovecharemos las capacidades de manipulación de PDF de Aspose.PDF for Java. La API le permite realizar una operación de división de PDF en unos pocos pasos. Puede descargar la API o instalarla dentro de sus aplicaciones basadas en Maven usando las siguientes configuraciones.

<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 un archivo PDF usando Java

Los criterios de división de PDF pueden variar en diferentes escenarios según los requisitos. Primero, veamos cómo dividir un archivo PDF por páginas y guardar cada página como un PDF separado. Los siguientes son los pasos para realizar esta operación.

  • Cargue el documento PDF utilizando la clase Document.
  • Recorra las páginas usando el método Document.getPages().
  • Acceda a cada página en un objeto Page.
  • En cada iteración, cree un nuevo Document, agregue la página actual al documento y guárdelo como un archivo PDF utilizando el método Document.save(String).

El siguiente ejemplo de código muestra cómo dividir un archivo PDF usando Java.

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

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

// Pasar por todas las páginas
for (Page pdfPage : pdfDocument.getPages()) {
	// Crear un nuevo documento
	Document newDocument = new Document();

	// Agregar página al documento
	newDocument.getPages().add(pdfPage);

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

Dividir un archivo PDF por colección de páginas usando Java

Para la demostración, echemos un vistazo a otro escenario de división de PDF. En este ejemplo, dividiremos un PDF en función de los números de página pares e impares. Los siguientes son los pasos para realizar esta operación.

  • Cargue el documento PDF utilizando la clase Document.
  • Recorra las páginas usando el método Document.getPages().
  • Separe las páginas pares e impares en ArrayList objetos.
  • Cree un nuevo objeto Document, agregue páginas al documento y guárdelo como un archivo PDF utilizando el método Document.save(String).

El siguiente ejemplo de código muestra cómo dividir páginas pares e impares en un archivo PDF usando Java.

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

// Cree listas de arreglos para páginas pares e impares
List<Page> evenPages = new ArrayList<Page>();
List<Page> oddPages = new ArrayList<Page>();

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

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

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para probar la API sin limitaciones de evaluación.

Conclusión

En este artículo, aprendió cómo dividir un archivo PDF usando Java. Además, ha visto cómo personalizar los criterios de división de PDF según los requisitos. Puede explorar más sobre la API usando la documentación.

Ver también