Prérequis
- [il faut savoir charger un fichier avec PDFBox](/university/frameworks/apache-pdfbox/001_chargement_pdfbox).
Pour découper un fichier PDF
- il faut utiliser les classes Splitter et PDDocument
- voici les lignes de code qui vous permettront de les importer :
import org.apache.pdfbox.multipdf.Splitter;
import org.apache.pdfbox.pdmodel.PDDocument;
Nous allons utiliser la méthode split pour découper le fichier
- celle-ci prend obligatoirement un objet PDDocument et un entier optionnel qui va déterminer le nombre de pages par fichiers générés. Elle retourne ensuite une List de PDDocument sur laquelle il vous faudra itérer pour écrire les fichiers sur le disque.
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");
}