iTextSharp pour C# (.NET) : guide complet avec exemples

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

Introduction à iTextSharp : qu'est-ce que c'est et pourquoi l'utiliser

iTextSharp est une bibliothèque puissante pour générer et manipuler des documents PDF sur la plateforme .NET (C#, VB.NET, F#). Port de la célèbre bibliothèque Java iText, elle offre aux développeurs un contrôle total sur la création, la modification et la lecture de fichiers PDF.

Fonctionnalités principales d'iTextSharp :

  • Création de documents PDF à partir de zéro
  • Ajout de texte, d'images, de tableaux, de listes
  • Gestion des polices (y compris Unicode et caractères accentués)
  • Insertion de liens hypertextes, signets, métadonnées
  • Chiffrement et protection par mot de passe
  • Fusion et division de fichiers PDF
  • Ajout de filigranes et d'en-têtes/pieds de page
  • Gestion des formulaires (AcroForms)

Largement utilisée dans les applications d'entreprise, cette bibliothèque permet de générer des rapports, factures, bons de livraison, certificats et autres documents. iTextSharp supporte .NET Framework 2.0+ et .NET Core (via iTextSharp.LGPLv2.Core).

Installation d'iTextSharp

Pour installer iTextSharp dans un projet .NET, utilisez le gestionnaire de packages NuGet. Plusieurs versions de la bibliothèque existent :

  • iTextSharp (ancienne version 5.x, LGPL) — gratuite mais avec des limitations
  • iTextSharp.LGPLv2.Core — fork pour .NET Core / .NET 5+
  • iText7 (iText.LGPLv2.Core) — nouvelle version iText 7 pour .NET

Installation via la console du gestionnaire de packages :

Install-Package iTextSharp.LGPLv2.Core -Version 1.7.0

Installation via .NET CLI :

dotnet add package iTextSharp.LGPLv2.Core --version 1.7.0

Installation via l'interface NuGet de Visual Studio :

  1. Clic droit sur le projet → "Manage NuGet Packages"
  2. Rechercher : "iTextSharp.LGPLv2.Core"
  3. Sélectionner la version et cliquer sur "Install"

Important : Pour utiliser des polices non standard (comme les caractères accentués), une configuration supplémentaire est nécessaire (voir section "Conseils").

Premiers pas : création d'un premier document PDF

Voici un exemple minimal pour créer un fichier PDF avec le texte "Bonjour, le monde !" :

using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;

class Program
{
    static void Main()
    {
        // Créer le document
        Document doc = new Document();
        
        // Créer un flux pour écrire dans le fichier
        using (FileStream fs = new FileStream("BonjourMonde.pdf", FileMode.Create))
        {
            // Obtenir une instance de PdfWriter
            PdfWriter writer = PdfWriter.GetInstance(doc, fs);
            
            // Ouvrir le document
            doc.Open();
            
            // Ajouter un paragraphe avec du texte
            doc.Add(new Paragraph("Bonjour, le monde !"));
            
            // Fermer le document
            doc.Close();
        }
        
        Console.WriteLine("PDF créé avec succès !");
    }
}

Ce code crée un fichier BonjourMonde.pdf dans le dossier de l'exécutable. Notez l'ordre des opérations : création du Document → ouverture → ajout de contenu → fermeture.

Méthodes et classes essentielles d'iTextSharp

Découvrez 10 classes/méthodes clés de la bibliothèque avec descriptions détaillées et exemples.

1. Classe Document

Rôle : Représente le document PDF lui-même. Gère les pages, les marges et l'orientation.

Paramètres du constructeur :

  • Rectangle pageSize — taille de la page (ex. PageSize.A4)
  • float marginLeft, marginRight, marginTop, marginBottom — marges

Exemple :

// Création d'un document A4 en orientation paysage avec marges personnalisées
Document doc = new Document(PageSize.A4.Rotate(), 50, 50, 30, 30);
doc.Open();
doc.Add(new Paragraph("Orientation paysage"));
doc                    

Recommendations