Publié le 07/04/2017, rédigé par Ernest RIBEIRO

PDFBox

Comment découper un fichier PDF en Java

Prérequis
- [il faut savoir charger un fichier avec PDFBox](/university/frameworks/apache-pdfbox/001_chargement_pdfbox).

Pour découper un fichier PDF

import org.apache.pdfbox.multipdf.Splitter;
import org.apache.pdfbox.pdmodel.PDDocument;

Nous allons utiliser la méthode split pour découper le fichier

Exemple 1

Je veux découper mon document de 10 pages en 10 documents d'une page :

PDDocument myDocument = PDDocument.load(new File("Chemin/vers/mon/fichier/à/couper"));
Splitter splitter = new Splitter();
List<PDDocument> generatedFiles = splitter.split(myDocument); // Pas besoin de préciser d'entier parce que le nombre de pages par défaut est 1.

for(int index = 0; index < generatedFiles.size(); index++){
    fileToWrite.save("chemin/vers/lequel/écrire_" + index + ".pdf"); // Pensez à préciser l'extension .pdf par soucis de compabtibilité
}
Exemple 2

Je veux découper un fichier de 40 pages en 4 fichiers de 10 pages :

PDDocument myDocument = PDDocument.load(new File("Chemin/vers/mon/fichier/à/couper"));
Splitter splitter = new Splitter();
List<PDDocument> generatedFiles = splitter.split(myDocument
    - 10); // Je veux 10 pages par document
    - je le précise donc en second argument.

for(int index = 0; index < generatedFiles.size(); index++){
    fileToWrite.save("chemin/vers/lequel/écrire_" + index + ".pdf");
}