IRONSOFTWAREHOME
OUTILS PDF

Comment éditer du texte dans un PDF (Tutoriel Débutant)

Curtis Chau
Curtis Chau
Updated: 17 septembre 2026

Une signature numérique est une technique mathématique qui vérifie l'authenticité et l'intégrité d'un document électronique. Elle sert de signature électronique pour signer numériquement des documents dans plusieurs juridictions, garantissant une grande sécurité et une validité légale.

Les signatures numériques sont créées à l'aide d'une clé privée, que seul le signataire connaît. Cette clé privée établit une signature numérique unique liée au document lorsqu'il est signé. La signature inclut le nom du signataire, son adresse e-mail et d'autres informations personnelles. Pour confirmer l'authenticité d'un document signé numériquement, le destinataire doit avoir accès à la clé publique du signataire. La légitimité de la signature est vérifiée en la déchiffrant à l'aide de la clé publique.

Dans ce tutoriel, nous comparons comment ajouter des signatures numériques aux documents PDF en utilisant PDFsharp et IronPDF. Les signatures numériques sont essentielles pour vérifier l'authenticité des documents, et les fichiers PDF sont un format populaire pour de telles opérations.

PDFSharp est une bibliothèque open-source bien connue pour la création et la manipulation de PDF, tandis qu'IronPDF est une robuste bibliothèque PDF .NET offrant des fonctionnalités similaires avec des fonctionnalités avancées supplémentaires.

Ce guide couvre la signature d'un document PDF avec une clé privée et la vérification de la signature, ainsi qu'un exemple de code source pour les deux bibliothèques.

Pourquoi les signatures numériques sont-elles importantes ?

Les signatures numériques assurent l'intégrité des documents et offrent une sécurité robuste. Elles sont couramment utilisées pour les contrats, les accords et d'autres documents légaux.

Principaux avantages :

  • Plus sécurisées et résistantes à la falsification que les signatures traditionnelles.
  • Vérifiées électroniquement, réduisant les efforts de vérification manuelle.
  • Permettent la signature à distance des documents dans le monde entier.
  • Fournissent une plus grande assurance que les signatures traditionnelles.

Aperçu de PDFSharp

PDFSharp est une bibliothèque C# open-source principalement conçue pour créer et manipuler des documents PDF. Elle est largement utilisée pour les tâches PDF de base, telles que la génération de fichiers PDF simples, l'édition de documents existants et le rendu de graphiques. Cependant, son support natif pour les fonctionnalités avancées comme les signatures numériques est limité, et les développeurs doivent souvent s'appuyer sur des bibliothèques tierces, telles que BouncyCastle, pour intégrer de telles fonctionnalités. PDFSharp est open-source, sous la licence MIT, ce qui en fait un bon choix pour les projets où le coût et la flexibilité sont prioritaires.

Caractéristiques principales

  • Open-source et gratuit sous la licence MIT.
  • Création et manipulation de PDF basiques.
  • Peut être étendu avec des bibliothèques externes comme BouncyCastle pour les signatures numériques.
  • Manque de support prêt à l'emploi pour des fonctionnalités avancées de PDF telles que la conversion HTML vers PDF et la gestion de formulaires complexes.

Aperçu d'IronPDF

IronPDF est une bibliothèque PDF .NET robuste qui fournit une API simple et puissante pour générer, éditer et manipuler des PDFs. L'une de ses caractéristiques principales est la facilité avec laquelle les développeurs peuvent implémenter des signatures numériques, qui sont essentielles pour vérifier l'authenticité des documents. En plus des signatures numériques, IronPDF prend en charge des fonctionnalités avancées telles que la conversion HTML vers PDF, le filigranage et la gestion de formulaires. Il est particulièrement précieux pour les développeurs travaillant sur des projets commerciaux où la mise en œuvre rapide et les fonctionnalités robustes sont une priorité.

Caractéristiques principales

  • Licence commerciale avec support payant et un essai gratuit disponible.
  • API facile à utiliser avec des fonctionnalités modernes pour la signature numérique et la manipulation de documents.
  • Inclut un support intégré pour la conversion de format HTML vers PDF, la gestion de formulaires et les annotations PDF (telles que les annotations de pièces jointes).
  • Intégration transparente avec des fonctionnalités avancées comme l'horodatage, les images de signature visuelles et le chiffrement.

Ajouter une signature numérique de manière programmatique avec PDFSharp

PDFSharp est une bibliothèque open-source conçue pour la création et la manipulation de PDF en C#. Cependant, bien qu'il offre la possibilité d'ajouter une signature, vous devrez intégrer un outil tiers comme BouncyCastle pour garantir une signature numérique sûre et précise des documents PDF.

Étapes pour ajouter une signature numérique avec PDFSharp

  1. Install PDFSharp and BouncyCastle via NuGet.
  2. Créez un certificat numérique en utilisant X509Certificate2.
  3. Signez le PDF avec BouncyCastle.

Exemple de Code

using System;
using System.IO;
using System.Security.Cryptography.X509Certificates;
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using BouncyCastleSigner; // Hypothetical namespace for illustration
// Ensure that you have the appropriate namespaces added

class Program
{
    static void Main(string[] args)
    {
        // Create a font for the appearance of the signature
        var font = new XFont("Verdana", 10.0, XFontStyle.Regular);

        // Create a new PDF document
        var document = new PdfDocument();
        var pdfPage = document.AddPage();

        // Prepare graphics for drawing on the PDF page
        var xGraphics = XGraphics.FromPdfPage(pdfPage);
        var layoutRectangle = new XRect(0.0, 0.0, pdfPage.Width.Point, pdfPage.Height.Point);

        // Add some text to the page
        xGraphics.DrawString("Signed sample document", font, XBrushes.Black, layoutRectangle, XStringFormats.TopCenter);

        // Define digital signature appearance options
        var options = new DigitalSignatureOptions
        {
            ContactInfo = "John Doe",
            Location = "Seattle",
            Reason = "License Agreement",
            Rectangle = new XRect(36.0, 700.0, 400.0, 50.0),
            AppearanceHandler = new SignatureAppearanceHandler()
        };

        // Sign the document using BouncyCastle signer
        var pdfSignatureHandler = DigitalSignatureHandler.ForDocument(document,
            new PdfSharp.Snippets.Pdf.BouncyCastleSigner(GetCertificate(), PdfMessageDigestType.SHA256), options);

        // Save the signed document
        document.Save("PdfSharpSignature.pdf");
    }

    static (X509Certificate2, X509Certificate2Collection) GetCertificate()
    {
        // Locate the certificate file and read its data
        var certFolder = "C:\\Users\\kyess\\AppData\\Roaming\\Adobe\\Acrobat\\DC\\Security";
        var pfxFile = Path.Combine(certFolder, "IronSoftware.pfx");
        var rawData = File.ReadAllBytes(pfxFile);

        // Load the certificate using its password (example password)
        var certificatePassword = "Passw0rd";
        var certificate = new X509Certificate2(rawData, certificatePassword,
            X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);

        // Create and return the certificate collection
        var collection = new X509Certificate2Collection();
        collection.Import(rawData, certificatePassword,
            X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
        return (certificate, collection);
    }
}

Sortie

Signer des documents PDF numériquement avec PDFSharp vs IronPDF (Exemple de code) : Figure 2

Comme vous pouvez le voir ici, bien qu'il ait été capable de créer un champ de signature numérique et d'appliquer le certificat à notre nouveau document, le processus est long, manuel, et pas très efficace à mettre en œuvre par rapport à des bibliothèques telles qu'IronPDF.

Ajouter une signature numérique avec IronPDF

IronPDF fournit aux développeurs une méthode concise pour signer numériquement des documents PDF.

using IronPdf;
using System.Security.Cryptography.X509Certificates;

public class Program
{
    static void Main(string[] args)
    {
        // Load the certificate with its password
        var sig = new PdfSignature("IronSoftware.pfx", "your-password");

        // Configure additional signature details
        sig.TimestampHashAlgorithm = TimestampHashAlgorithms.SHA256;
        sig.TimestampUrl = "http://timestamp.digicert.com";
        sig.SignatureImage = new PdfSignatureImage("IronPdf.png", 0, new Rectangle(150, 100, 200, 200));

        // Sign and save the PDF document
        sig.SignPdfFile("output.pdf");
    }
}

Sortie

PDFSharp signer numériquement des documents PDF par rapport à IronPDF (Exemple de code) : Figure 3

Ce code démontre comment signer un document PDF en utilisant la classe PdfSignature d'IronPDF. Le programme commence par créer un objet PdfSignature, spécifiant l'emplacement d'un fichier de certificat .pfx et son mot de passe. Il définit ensuite des propriétés de signature supplémentaires, telles que l'algorithme de hachage (SHA256), l'URL d'horodatage, et une image personnalisée pour la signature (IronPDF.png).

Enfin, la méthode SignPdfFile est appelée pour appliquer la signature numérique au document PDF et l'enregistrer en tant que output.pdf. Ce processus garantit l'intégrité et l'authenticité du PDF en intégrant la signature numérique avec un horodatage et une image visuelle.

PDFSharp :

  • Open-source sous licence MIT.
  • Nécessite des bibliothèques externes (par ex., BouncyCastle) pour des fonctionnalités avancées telles que la signature numérique.

IronPDF :

  • Licence commerciale avec tarification basée sur le nombre de développeurs et les instances de déploiement.
  • Essai gratuit disponible
  • Gratuit pour un usage de développement

Conclusion : IronPDF vs PDFSharp pour les signatures numériques en C#

En comparant IronPDF et PDFSharp pour ajouter des signatures numériques à des PDFs en C#, les deux bibliothèques offrent des avantages distincts selon les besoins de votre projet.

  • IronPDF est idéal pour les développeurs, qu'ils soient développeurs logiciels indépendants freelances, ou développeurs travaillant pour une entreprise, cherchant une API simple et facile à utiliser pour appliquer des signatures numériques aux PDFs, et est doté de fonctionnalités modernes. Son intégration transparente avec l'application de signature numérique, la conversion HTML vers PDF et d'autres fonctionnalités PDF en fait un excellent choix pour les projets commerciaux qui privilégient la facilité d'utilisation et la mise en œuvre rapide. Avec support payant et une structure de licence commerciale claire, IronPDF est bien adapté aux entreprises nécessitant une solution simple et fiable.

  • PDFSharp excelle dans la création et la manipulation de base de PDF mais manque des fonctionnalités avancées et du support direct pour les signatures numériques qu'IronPDF offre. Bien que PDFSharp soit open-source et gratuit, son API est moins intuitive pour le travail avec des signatures numériques comparée à IronPDF, et les développeurs peuvent avoir besoin d'employer des solutions supplémentaires ou des bibliothèques tierces pour gérer ces fonctionnalités.

En résumé, IronPDF est le meilleur choix pour les développeurs à la recherche d'une solution simple et rapide pour les signatures numériques et les tâches PDF associées, notamment dans des environnements commerciaux. PDFSharp est plus adapté pour les tâches PDF basiques mais manque de la même facilité d'utilisation et du même ensemble de fonctionnalités pour les signatures numériques, ce qui le rend plus approprié pour des projets plus simples ou ceux nécessitant des personnalisations supplémentaires.

Veuillez noter: PDFSharp et BouncyCastle sont des marques déposées de leurs propriétaires respectifs. Ce site n'est ni affilié, approuvé ou sponsorisé par PDFSharp ou BouncyCastle. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont à titre informatif uniquement et reflètent les informations publiquement disponibles au moment de l'écriture.
Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $