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
- Divida un archivo PDF por cada página usando Java
- Dividir un archivo PDF por colección de páginas usando Java
- Obtenga una licencia gratis
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.