Bibliothèque Java pour la gestion des documents PDF
API Java Open Source pour créer, éditer et manipuler des fichiers PDF à partir de vos propres applications.
OpenPDF est une bibliothèque PDF open source pour les développeurs Java. Il permet de créer et de modifier des fichiers PDF à partir d'applications Java sans aucune dépendance externe. OpenPDF est sous licence avec une licence LGPL et MPL et est un fork d'iText version 4.
Le PDF est l'un des formats de document préférés au monde et toujours très utile. L'API OpenPDF prend en charge plusieurs fonctionnalités importantes, telles que la création et la modification de documents PDF, l'ajout d'images au PDF, l'insertion de nouvelles pages dans un fichier PDF existant, la création de paragraphes, l'ajout d'en-têtes et de pieds de page, la création de TOC, l'édition de contenu et plus.
Premiers pas avec OpenPDF
Java 8 ou version ultérieure est requis pour utiliser la bibliothèque OpenPDF. Toutes les versions de Java de 8 à Java 12 ont été testées pour fonctionner. Il compilera les sources Java et empaquetera les classes binaires dans des packages jar par défaut.
Dépendance OpenPDF Maven
<dependency>
<groupId>com.github.librepdf</groupId>
<artifactId>openpdf</artifactId>
<version>1.3.11</version>
</dependency>
Créer et modifier des fichiers PDF via Java API
OpenPDF fournit la fonctionnalité de création de documents PDF ainsi que des modifications à partir d'applications Java. Les développeurs de logiciels peuvent facilement créer des documents PDF avec du contenu et des images. Pour créer un nouveau document, vous devez tout d'abord créer un objet document, puis créer un écrivain qui écoute le document et dirige un flux PDF vers le fichier. Une fois le document créé, vous pouvez facilement ajouter des paragraphes, ajouter de nouvelles pages et insérer des images en toute simplicité.
Créer un document PDF - Java
// Intialize Document object
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("FileFormat.pdf"));
// Open document
document.open();
// Add pargraph
document.add(new Paragraph("FileFormat Developer Guide"));
// Close document
document.close();
Insérer des images dans des documents PDF via Java
OpenPDF permet aux programmeurs Java d'insérer des images dans des documents PDF à l'intérieur de leurs propres applications Java. Les images ajoutent toujours plus de valeur au contenu. Pour insérer une image, vous devez fournir un nom et un emplacement d'image, puis en appelant l'objet document, vous pouvez ouvrir le document et ajouter l'image sur la page ou l'emplacement souhaité. Une fois cela fait, il vous suffit de fermer le document pour valider les modifications.
Ajouter une image au format PDF - Java
// Intialize Document object
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("output.pdf"));
// Open document
document.open();
Image jpg = Image.getInstance("sample.jpg");
document.add(jpg);
// Close document
document.close();
Ajouter des listes aux documents PDF
L'API OpenPDF permet aux développeurs Java d'ajouter des listes aux documents PDF. Vous pouvez créer une liste, puis ajouter facilement des éléments de liste au PDF. Vous pouvez également passer un symbole pour marquer les éléments de la liste (caractère Unicode). Vous pouvez également sélectionner une liste numérotée ou alphabétique. Il existe également des classes spécialisées pour les lettres romaines et les lettres grecques.
Ajouter des signets à la liste en PDF via Java
Document document = new Document(PageSize.A4);
PdfWriter instance = PdfWriter.getInstance(document, new FileOutputStream("out.pdf"));
instance.setViewerPreferences(PdfWriter.PageModeUseOutlines);
document.open();
List list = new List();
list.add(new ListItem(new Chunk("ABC").setLocalDestination("dest1")));
list.add(new ListItem(new Chunk("XYZ").setLocalDestination("dest2")));
document.add(list);
// add outline items
PdfOutline root = instance.getDirectContent().getRootOutline();
new PdfOutline(root, PdfAction.gotoLocalPage("dest1", false), "abc-item");
new PdfOutline(root, PdfAction.gotoLocalPage("dest2", false), "xyz-item");
document.close();
Ajout d'en-tête et de pied de page aux documents PDF via Java
Les en-têtes et les pieds de page peuvent contenir des informations importantes sur un document ou des données pour aider à organiser les documents plus longs et à les rendre plus faciles à lire. Les en-têtes et les pieds de page incluent normalement des informations supplémentaires telles que les numéros de page, les dates, le nom de l'auteur, les notes de bas de page, etc. L'API OpenPDF permet aux développeurs Java d'ajouter un en-tête et un pied de page à leurs documents PDF avec seulement quelques lignes de code.
Comment démarrer l'en-tête et le pied de page à partir de la première page via Java
Document document = new Document();
document.setPageSize(PageSize.A7.rotate()); // just to make output smaller
document.setMargins(15f, 15f, 24f, 20f);
HeaderFooter header = new HeaderFooter(new Phrase("This is a header."), false);
HeaderFooter footer = new HeaderFooter(new Phrase("This is a footer on page "), new Phrase("."));
document.setHeader(header);
document.setFooter(footer);
document.open(); // only open the document after header/footer have been set
document.add(new Paragraph("Hello World"));
document.add(Chunk.NEXTPAGE);
document.add(new Paragraph("Hello new page."));