iText 7 pour Java : Guide complet pour créer et modifier des PDF
iText 7 est une bibliothèque open source (AGPL) puissante pour Java, conçue pour créer, manipuler et afficher des documents PDF par programmation. Successeur de la célèbre bibliothèque iText 5, elle propose une architecture entièrement repensée et modulaire, axée sur la performance, la flexibilité et la simplicité d'utilisation. iText 7 permet aux développeurs de résoudre un large éventail de tâches : de la génération de simples factures et rapports à la création de documents complexes à valeur juridique, avec signatures numériques, formulaires et métadonnées.
Pourquoi utiliser iText 7 ? Dans le monde moderne, le PDF est le format universel d'échange de documents, garantissant un affichage identique sur tous les appareils. Créer des PDF manuellement est long et inefficace, surtout avec de gros volumes de données. iText 7 automatise ce processus, offrant aux développeurs Java un contrôle total sur chaque aspect du document : ajout de texte et d'images, création de formulaires interactifs, gestion des droits d'accès, etc. Cette bibliothèque est indispensable dans les systèmes de gestion documentaire, le commerce électronique, le secteur bancaire et toute application nécessitant la génération ou le traitement de PDF.
La bibliothèque prend en charge toutes les dernières spécifications PDF, y compris PDF 2.0. Elle propose également des modules complémentaires (add-ons) pour la conversion HTML (pdfHTML), la reconnaissance optique de caractères (pdfOCR), la création SVG (pdfSVG) et le traitement d'images (pdfImage). Il est important de noter qu'iText 7 est distribué sous double licence : AGPL (nécessite l'ouverture du code source de votre application) et licence commerciale (pour une utilisation propriétaire).
Installation
Pour installer iText 7 dans votre projet Java, utilisez le système de build Maven ou Gradle. Voici la commande exacte pour ajouter les dépendances dans le fichier pom.xml (Maven).
<!-- pom.xml -->
<dependencies>
<!-- Module principal iText 7 -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>8.0.4</version> <!-- Vérifiez la version la plus récente sur Maven Central -->
<type>pom</type>
</dependency>
</dependencies>
Pour Gradle (build.gradle) :
implementation 'com.itextpdf:itext7-core:8.0.4'
Si vous n'avez besoin que de certains modules (par exemple, kernel, layout, io), vous pouvez les ajouter individuellement :
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>8.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>layout</artifactId>
<version>8.0.4</version>
</dependency>
Démarrage rapide : exemple minimal fonctionnel
Le code suivant crée un document PDF simple avec le texte "Hello, World!" et l'enregistre dans le fichier HelloWorld.pdf.
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import java.io.FileNotFoundException;
public class HelloWorld {
public static void main(String[] args) throws FileNotFoundException {
// 1. Créez un PdfWriter qui écrira les données dans le fichier
PdfWriter writer = new PdfWriter("HelloWorld.pdf");
// 2. Créez un PdfDocument — l'objet représentant le document PDF lui-même
PdfDocument pdf = new PdfDocument(writer);
// 3. Créez un Document — un objet de haut niveau pour ajouter des éléments (texte, tableaux, etc.)
Docum Aussi dans la bibliothèque
Bibliothèque standard Java : aperçu complet pour débutants et experts
Apprentissage automatique en Go : aperçu des bibliothèques pour Golang
Géolocalisation et cartes en C# (.NET) : aperçu des bibliothèques et outils
Travailler avec YAML en TypeScript : parsing, génération et validation de données
Travailler avec les archives ZIP en Java : guide complet de java.util.zip