COMPARAISON DES PRODUITS

Signer des documents PDF avec QuestPDF vs IronPDF (Exemple de code)

Publié février 13, 2025
Partager:

Introduction

Une signature numérique est un algorithme mathématique utilisé pour authentifier l'identité du signataire et assurer l'intégrité d'un document. Il crée un identifiant unique lié au document, qui est signé à l'aide d'une clé privée connue uniquement du signataire. Pour vérifier l'authenticité d'un document signé numériquement, le destinataire utilise la clé publique pour déchiffrer la signature et confirmer sa validité.

Dans cet article, nous allons comparer comment ajouter des signatures numériques aux documents PDF en utilisant les bibliothèques QuestPDF et IronPDF en C#. Les deux bibliothèques offrent des fonctionnalités robustes pour la manipulation de PDF, y compris des capacités de signature numérique.

Pourquoi les signatures numériques sont-elles importantes ?

Les signatures numériques garantissent que le contenu d'un document n'a pas été altéré et prouvent l'identité du signataire. Cela offre un niveau de sécurité plus élevé par rapport aux signatures traditionnelles. Les signatures numériques sont juridiquement contraignantes dans de nombreux pays et sont couramment utilisées pour les contrats, les accords et d'autres documents juridiques.

Conditions préalables

Avant de commencer, assurez-vous d'avoir une compréhension de base de C# et du .NET Framework. Vous devrez installer les deuxQuestPDF etIronPDF. QuestPDF peut être installé à partir de NuGet, et IronPDF peut être téléchargé depuis le site web d'IronPDF ou via le gestionnaire de packages NuGet.

Vous devrez également avoir une signature numérique prête à l'emploi, et si vous n'en avez pas, il existe de nombreuses ressources pour vous aider à en créer une nouvelle.

QuestPDF Signer des documents PDF vs IronPDF (Exemple de code) : Figure 1

Comparaison de l'ajout de signature numérique aux documents PDF en C# avec QuestPDF vs IronPDF

Examinons de plus près ces deux bibliothèques et leur manière de gérer l'application de signatures numériques aux documents PDF.

QuestPDF est une bibliothèque open-source axée sur la génération de documents PDF en utilisant une API fluente pour créer des mises en page complexes grâce à son moteur de mise en page complet. Elle est moins orientée vers la manipulation de PDF, mais peut être utilisée conjointement avec d'autres outils pour signer des PDFs. Il est également accompagné d'une application compagnon qui permet aux utilisateurs d'explorer facilement la structure de leurs documents PDF et utilise une fonctionnalité de rechargement à chaud pour vous fournir des aperçus en direct des documents sans avoir besoin de recompiler le code.

IronPDF est une bibliothèque .NET robuste qui offre des fonctionnalités puissantes pour la génération, la manipulation de documents PDF, etsignature de documents PDF. Il est conçu pour les développeurs .NET à la recherche d'une solution complète et facile à utiliser. Avec IronPDF, vous pouvez facilementchiffrer des documents PDF, ajouterannotation, convertir HTML en PDF, extraire le contenu, et plus!

QuestPDF

QuestPDF Signer des documents PDF vs IronPDF (Exemple de code) : Figure 2

QuestPDF ne prend pas en charge nativement les signatures numériques. Cependant, vous pouvez le combiner avec d'autres bibliothèques(comme BouncyCastle ou PdfSharp)pour cette fonctionnalité. Après avoir généré votre document avec QuestPDF, vous pouvez le signer en utilisant une bibliothèque qui propose des outils de signature PDF tels queiTextSharp, mais la bibliothèque QuestPDF elle-même ne gère pas la signature des PDF.

Il offre d'autres formes de sécurité PDF de base, sous forme de chiffrement PDF, ainsi que la création avancée de PDF et la capacité de concevoir des documents PDF, ce qui peut en faire une option viable pour ceux qui recherchent une bibliothèque PDF capable de gérer des tâches PDF de base sans trop de fioritures.

IronPDF

IronPDF propose une API simple pour signer des PDF avec un certificat numérique. Le code suivant démontre comment appliquer unsignature numériqueen fichier PDF en utilisant IronPDF.

using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
public class Program
{
    static void Main(string[] args)
    {
        PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
        X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable);
        var sig = new PdfSignature(cert);
        pdf.Sign(sig);
        pdf.SaveAs("signed.pdf");
    }
}
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
public class Program
{
    static void Main(string[] args)
    {
        PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
        X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable);
        var sig = new PdfSignature(cert);
        pdf.Sign(sig);
        pdf.SaveAs("signed.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
Public Class Program
	Shared Sub Main(ByVal args() As String)
		Dim pdf As PdfDocument = PdfDocument.FromFile("invoice.pdf")
		Dim cert As New X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable)
		Dim sig = New PdfSignature(cert)
		pdf.Sign(sig)
		pdf.SaveAs("signed.pdf")
	End Sub
End Class
VB   C#

QuestPDF Signer des documents PDF vs IronPDF (Exemple de code) : Figure 4

Ce code démontre comment signer numériquement un document PDF en utilisant IronPDF et un certificat X.509. Tout d'abord, il charge un PDF existant(invoice.pdf)en un objet PdfDocument. Ensuite, il charge un certificat à partir d'un fichier .pfx(IronSoftware.pfx)en fournissant le mot de passe(Passw0rd)et définir le drapeau X509KeyStorageFlags.Exportable pour permettre l'exportation de la clé privée du certificat si nécessaire.

Ensuite, un objet PdfSignature est créé en utilisant le certificat chargé. Cette signature est ensuite appliquée au document PDF, le signant ainsi effectivement. Enfin, le PDF signé est enregistré sous un nouveau fichier appelé signed.pdf. Ce processus garantit que le PDF est signé de manière sécurisée, vérifiant son authenticité et son intégrité.

Comment vérifier une signature à l'aide d'IronPDF

IronPDF offre également un moyen facile de vérifier les signatures numériques. Vous pouvez appeler la méthode VerifyPdfSignatures pour vérifier la validité des signatures dans le document.

using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("signed_test_document.pdf");
bool isValid = pdf.VerifyPdfSignatures();
if (isValid)
{
    Console.WriteLine("The digital signature is valid.");
}
else
{
    Console.WriteLine("The digital signature is invalid or missing.");
}
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("signed_test_document.pdf");
bool isValid = pdf.VerifyPdfSignatures();
if (isValid)
{
    Console.WriteLine("The digital signature is valid.");
}
else
{
    Console.WriteLine("The digital signature is invalid or missing.");
}
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("signed_test_document.pdf")
Private isValid As Boolean = pdf.VerifyPdfSignatures()
If isValid Then
	Console.WriteLine("The digital signature is valid.")
Else
	Console.WriteLine("The digital signature is invalid or missing.")
End If
VB   C#

Cette méthode renvoie vrai si toutes les signatures du document sont valides, et faux si une signature est invalide ou manquante.

Résumé des différences entre QuestPDF et IronPDF

Facilité d'utilisation : IronPDF offre une API beaucoup plus simple pour signer des PDF comparé à QuestPDF. QuestPDF n'offre pas de support natif pour les signatures numériques et nécessite des bibliothèques externes.(par exemple, BouncyCastle)pour cette fonctionnalité. En revanche, IronPDF dispose de méthodes intégrées pour signer et vérifier les PDF, ce qui rend la mise en œuvre des signatures numériques plus simple.

Gestion des certificats : Les deux bibliothèques peuvent fonctionner avec des certificats, mais IronPDF les gère directement grâce à ses méthodes intégrées.(par exemple, SignWithFile), simplifiant le processus. Il vous permet également de spécifier les autorisations de signature, ce qui n'est pas proposé par QuestPDF. Signer des documents PDF avec IronPDF en seulement quelques lignes de code.

Vérification de signature numérique : IronPDF propose une méthode facile à utiliser(VérifierSignaturesPdf)pour vérifier la validité des signatures numériques dans les PDF, tandis que QuestPDF ne dispose pas de cette fonctionnalité et dépend de bibliothèques externes pour la vérification des signatures.

Licence et Coût : QuestPDF est une bibliothèque open-source gratuite à utiliser. Cela se fait au détriment de certaines fonctionnalités avancées, telles que la prise en charge des signatures numériques. IronPDF est gratuit pour le développement, et au-delà de cela, il propose une gamme de niveaux de tarification pour seslicences commercialespour l'essayer avant de l'acheter.

Conclusion

En résumé, bien que QuestPDF excelle dans la création de PDFs avec des mises en page complexes, il manque de support natif pour les signatures numériques, nécessitant des bibliothèques externes comme BouncyCastle pour cette fonctionnalité. En revanche, IronPDF offre une solution intégrée pour la signature et la vérification des signatures numériques, offrant un processus plus simple et plus efficace.

Pour les développeurs nécessitant une solution PDF complète avec intégration signature numériquecapacités, IronPDF est le meilleur choix, avec une large gamme decaractéristiques, une documentation complèteet bien d'autres choses encore. QuestPDF, cependant, reste une option open-source solide pour la génération de PDF, mais la signature numérique nécessite une complexité supplémentaire. La décision dépend finalement des besoins du projet et du niveau de simplicité souhaité.

< PRÉCÉDENT
Conversion de PDF en image de QuestPDF vs IronPDF
SUIVANT >
Alternatives à QuestPDF pour extraire du texte d'un PDF en C# vs IronPDF