Génération de PDF en Java avec iText

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce qu'iText et pourquoi en a-t-on besoin ?

iText est une bibliothèque puissante pour Java, conçue pour la création et le traitement de documents PDF. Elle permet de générer des fichiers PDF par programmation, d'ajouter du texte, des images, des tableaux, des formulaires et des annotations. La bibliothèque est largement utilisée dans les applications d'entreprise pour automatiser les rapports, les factures, les contrats et autres documents. Le principal avantage d'iText est le contrôle total sur le contenu et la structure du PDF.

Installation d'iText

Pour intégrer iText dans un projet Maven, ajoutez la dépendance dans pom.xml :

<dependency>    <groupId>com.itextpdf</groupId>    <artifactId>itext7-core</artifactId>    <version>7.2.5</version>    <type>pom</type></dependency>

Pour Gradle :

implementation 'com.itextpdf:itext7-core:7.2.5'

Fonctions principales d'iText

  • Création de PDF à partir de zéro : ajout de paragraphes, tableaux, images.
  • Travail avec les formulaires : remplissage et extraction de données à partir d'AcroForms.
  • Chiffrement et protection : définition de mots de passe, restriction de l'impression ou de la copie.
  • Conversion HTML en PDF : à l'aide du module html2pdf.
  • Fusion et séparation de pages : travail avec plusieurs documents.

Exemple de code en Java

Créons un PDF simple avec du texte et un tableau :

import com.itextpdf.kernel.pdf.PdfDocument;import com.itextpdf.kernel.pdf.PdfWriter;import com.itextpdf.layout.Document;import com.itextpdf.layout.element.Paragraph;import com.itextpdf.layout.element.Table;

public class PdfGenerator { public static void main(String[] args) throws Exception { String dest = "example.pdf"; PdfWriter writer = new PdfWriter(dest); PdfDocument pdf = new PdfDocument(writer); Document document = new Document(pdf);

// Ajout d'un titre document.add(new Paragraph("Bonjour le monde !"));

// Création d'un tableau 3x2 Table table = new Table(3); table.addCell("Nom"); table.addCell("Âge"); table.addCell("Ville"); table.addCell("Anne"); table.addCell("25"); table.addCell("Moscou"); table.addCell("Ivan"); table.addCell("30"); table.addCell("Saint-Pétersbourg");

document.add(table); document.close(); System.out.println("PDF créé : " + dest); }}

Quand utiliser iText

La bibliothèque est idéale pour :

  • Génération de rapports et de factures dans les applications web (Spring Boot, Java EE).
  • Automatisation de la gestion documentaire : contrats, actes, factures.
  • Création de formulaires PDF interactifs à remplir par les utilisateurs.
  • Conversion de modèles HTML en PDF pour l'impression ou l'envoi.

iText est la norme de facto pour le travail avec les PDF en Java. Alternatives : Apache PDFBox (plus bas niveau) et Aspose.PDF (commercial).

Recommendations