Loading...
X

Fusion de fichiers PDF

Le format de fichiers pdf est l’un des plus répandus à l’heure actuelle.

En effet, il permet de transmettre des documents en étant sûr :

  • qu’ils seront lisibles à l’arrivée (il existe des lecteurs de fichiers pdf pour la quasi totalité des plateformes existantes à l’heure actuelle)
  • que le formatage sera conservé (pas de problème de mise en page, de polices manquantes,…).%%%

Nous pouvons donc être amenés à générer ou manipuler des fichiers au format pdf au sein de nos applications, et notamment à rassembler plusieurs fichiers pdf en un seul, pour en faciliter l’impression ou l’envoi par e-mail.

Pour cela, nous utilisons la librairie iText, qui est l’une des plus répandues pour la génération et la manipulation de fichiers pdf en Java.

Par exemple, fusionner deux documents nommés « fichierEntree1.pdf » et « fichierEntree2.pdf », et les sauvegarder dans un fichier nommé « fichierSortie.pdf » est réalisé grâce au code suivant :

Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("fichierSortie.pdf"));
PdfReader pdfr = new PdfReader("fichierEntree1.pdf");
PdfReader pdfr2 = new PdfReader("fichierEntree2.pdf");
document.open();
PdfContentByte cb = writer.getDirectContent();
for (int i=1; i<=pdfr.getNumberOfPages(); i++) {
document.newPage();
cb.addTemplate(writer.getImportedPage(pdfr, i),0,0);
}
for (int i=1; i<=pdfr2.getNumberOfPages(); i++) {
document.newPage();
cb.addTemplate(writer.getImportedPage(pdfr2, i),0,0);
}
document.close();