IRONSOFTWAREHOME
VIDÉOS

Comment ajouter une signature numérique à un PDF en C# à l'aide de iTextSharp | IronPDF

Curtis Chau
Curtis Chau
Updated: 19 juillet 2026

La migration de Syncfusion PDFFramework vers IronPDF transforme votre flux de production de PDF, passant d'une API graphique basée sur les coordonnées et intégrée à une grande suite à une bibliothèque autonome, HTML/CSS d'abord, avec un rendu moderne de Chromium. Ce guide fournit un chemin de migration complet, étape par étape, qui élimine les licences pour les suites uniquement, les exigences de déploiement complexes et le positionnement basé sur les coordonnées.

Pourquoi migrer de Syncfusion PDFà IronPDF

Comprendre Syncfusion PDFFramework

Le Syncfusion PDFFramework est une bibliothèque complète qui offre un large éventail de fonctionnalités pour la création, l'édition et la sécurisation de documents PDF à l'aide de C#. Ce logiciel fait partie de Essential Studio de Syncfusion, qui comprend plus d'un millier de composants pour de multiples plateformes.

La bibliothèque PDF ne peut pas être achetée comme un composant unique. Syncfusion propose désormais une offre "Document SDK" qui regroupe les bibliothèques PDF, Word, Excel et PowerPoint sans les composants de l'interface utilisateur, aux côtés de l'ensemble complet Essential Studio. Les équipes qui ont besoin uniquement de la fonctionnalité PDF doivent prendre le Document SDK au minimum, ce qui peut être encombrant lorsque les autres bibliothèques de documents ne sont pas utilisées.

Le problème des licences d'offres groupées

Le modèle de licence de Syncfusion crée des défis importants pour les équipes qui n'ont besoin que de la fonctionnalité PDF :

  1. Pas d'achat au détail : PDF est intégré au Document SDK (PDF + Word + Excel + PowerPoint) ou au studio Essential complet — il ne peut pas être licencié seul
  2. Restrictions de la licence communautaire : Le niveau gratuit nécessite un chiffre d'affaires annuel <$1M, ≤5 développeurs ET ≤10 employés au total, ainsi qu'un plafond de 3M$ de capital externe à vie
  3. Licences de déploiement complexes : différentes licences pour les déploiements web, de bureau et serveur
  4. Renouvellement annuel requis : Modèle d'abonnement avec des coûts annuels (durée minimale de 1 an)
  5. Tarification par développeur : les coûts augmentent proportionnellement à la taille de l'équipe
  6. Encombrement du package : Document SDK intègre des dépendances Word/Excel/PowerPoint, même si vous n'avez besoin que de PDF ; le studio complet Essential ajoute plus de 1000 composants d'interface utilisateur en plus

Comparaison de Syncfusion PDFet IronPDF

AspectSyncfusion PDFIronPDF
Modèle d'achatPack Document SDK ou studio Essential complet (pas de SKU par bibliothèque)Autonome
LicenceNiveaux complexesSimple par développeur
Limite de la communauté<$1M revenue, ≤5 devs, ≤10 employees, ≤$3M outside capitalEssai gratuit, puis licence
DéploiementPlusieurs types de licencesUne licence couvre l'ensemble des
Style APIGraphiques basés sur coordonnées + convertisseur HTMLHTML/CSS d'abord
HTML EngineBlink (NuGets séparés Windows/Linux/Mac)Chromium intégré
Support CSSModerne (Blink) — proche de la parité avec ChromiumCSS3 complet/flexbox/grid
DépendancesPlusieurs paquetsNuGet simple
Exigence de packageOui (Document SDK or Essential Studio)Non
Focus sur le PDFLarge ; faisant partie d'un package plus largeÉtroite ; Axé sur le PDF

IronPDF propose une approche plus ciblée en offrant ses fonctionnalités PDF en tant que produit autonome. Cette différence a un impact significatif sur les coûts et la facilité d'intégration.

Pour les équipes adoptant le .NET moderne, la licence autonome d'IronPDF et son approche d'abord HTML/CSS offrent une flexibilité sans dépendances aux packages.


Avant de commencer

Prérequis

  1. Environnement .NET : .NET Framework 4.6.2+ ou .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. Accès à NuGet : possibilité d'installer des packages NuGet
  3. Licence IronPDF : Obtenez votre clé de licence sur IronPDF

Modifications du paquet NuGet

# Remove Syncfusion packages
dotnet remove package Syncfusion.Pdf.Net.Core
dotnet remove package Syncfusion.HtmlToPdfConverter.Net.Windows
dotnet remove package Syncfusion.Licensing

# Install IronPDF
dotnet add package IronPdf
SHELL

Configuration de la licence

Syncfusion :

// Must register before any Syncfusion calls
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-SYNCFUSION-KEY");

IronPDF :

// One-time at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

Référence API complète

Modifications de l'espace de nommage

// Before: Syncfusion PDF
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Pdf.Parsing;
using Syncfusion.HtmlConverter;
using Syncfusion.Drawing;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;

Mappages de l'API de base

SyncfusionIronPDF
PdfDocumentChromePdfRenderer
PdfLoadedDocumentPdfDocument.FromFile()
HtmlToPdfConverterChromePdfRenderer
graphics.DrawString()Éléments de texte HTML
graphics.DrawImage()<img> tag
PdfGridHTML <table>
PdfStandardFontCSS font-family
PdfBrushes.BlackCSS color: black
document.Securitypdf.SecuritySettings
PdfTextExtractorpdf.ExtractAllText()
ImportPageRange()PdfDocument.Merge()
document.Save(stream)pdf.SaveAs(path)
document.Close(true)Pas nécessaire

Exemples de migration de code

Exemple 1 : Conversion HTML/URL vers PDF

Avant (Syncfusion PDF):

// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.HtmlConverter;
using Syncfusion.Pdf;
using System.IO;

class Program
{
    static void Main()
    {
        // Initialize HTML to PDF converter
        HtmlToPdfConverter htmlConverter = new HtmlToPdfConverter();
        
        // Convert URL to PDF
        PdfDocument document = htmlConverter.Convert("https://www.example.com");
        
        // Save the document
        FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
        document.Save(fileStream);
        document.Close(true);
        fileStream.Close();
    }
}

Après (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        // Create a PDF from a URL
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
        
        // Save the PDF
        pdf.SaveAs("Output.pdf");
    }
}

Cet exemple illustre les différences fondamentales entre les API. Syncfusion PDFnécessite une instance de HtmlToPdfConverter, en appelant Convert() qui renvoie un PdfDocument, puis en créant manuellement un FileStream, en enregistrant et en fermant à la fois le document et le flux.

IronPDF utilise un ChromePdfRenderer avec RenderUrlAsPdf() en seulement trois lignes de code. Pas de gestion FileStream, pas d'appels Close()—IronPDF gère automatiquement le nettoyage. Consultez la documentation HTML vers PDF pour des exemples complets.

Exemple 2 : Création d'un PDF à partir d'un texte

Avant (Syncfusion PDF):

// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Drawing;
using System.IO;

class Program
{
    static void Main()
    {
        // Create a new PDF document
        PdfDocument document = new PdfDocument();
        
        // Add a page
        PdfPage page = document.Pages.Add();
        
        // Create a font
        PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 12);
        
        // Draw text
        page.Graphics.DrawString("Hello, World!", font, PdfBrushes.Black, new PointF(10, 10));
        
        // Save the document
        FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
        document.Save(fileStream);
        document.Close(true);
        fileStream.Close();
    }
}

Après (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;

class Program
{
    static void Main()
    {
        // Create a PDF from HTML string
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
        
        // Save the document
        pdf.SaveAs("Output.pdf");
    }
}

Syncfusion PDF utilise un modèle graphique basé sur les coordonnées. Vous créez un PdfDocument, ajoutez un PdfPage, créez un PdfFont avec PdfFontFamily.Helvetica, puis appelez page.Graphics.DrawString() avec des coordonnées explicites (new PointF(10, 10)), une police et un pinceau (PdfBrushes.Black). Enfin, vous gérez la création et l'élimination de FileStream.

IronPDF utilise une approche HTML/CSS d'abord. Instead of coordinates, you write <h1>Hello, World!</h1> and let CSS handle positioning, fonts, and colors. Cette approche est plus simple, plus facile à maintenir et tire parti des compétences que les développeurs possèdent déjà. Pour en savoir plus, consultez nos tutoriels.

Exemple 3 : Fusionner des documents PDF

Avant (Syncfusion PDF):

// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.Pdf;
using Syncfusion.Pdf.Parsing;
using System.IO;

class Program
{
    static void Main()
    {
        // Load the first PDF document
        FileStream stream1 = new FileStream("Document1.pdf", FileMode.Open, FileAccess.Read);
        PdfLoadedDocument loadedDocument1 = new PdfLoadedDocument(stream1);
        
        // Load the second PDF document
        FileStream stream2 = new FileStream("Document2.pdf", FileMode.Open, FileAccess.Read);
        PdfLoadedDocument loadedDocument2 = new PdfLoadedDocument(stream2);
        
        // Merge the documents
        PdfDocument finalDocument = new PdfDocument();
        finalDocument.ImportPageRange(loadedDocument1, 0, loadedDocument1.Pages.Count - 1);
        finalDocument.ImportPageRange(loadedDocument2, 0, loadedDocument2.Pages.Count - 1);
        
        // Save the merged document
        FileStream outputStream = new FileStream("Merged.pdf", FileMode.Create);
        finalDocument.Save(outputStream);
        
        // Close all documents
        finalDocument.Close(true);
        loadedDocument1.Close(true);
        loadedDocument2.Close(true);
        stream1.Close();
        stream2.Close();
        outputStream.Close();
    }
}

Après (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Load PDF documents
        var pdf1 = PdfDocument.FromFile("Document1.pdf");
        var pdf2 = PdfDocument.FromFile("Document2.pdf");
        
        // Merge PDFs
        var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
        
        // Save the merged document
        merged.SaveAs("Merged.pdf");
    }
}

Le contraste dans la fusion des PDF est spectaculaire. Syncfusion PDFnécessite la création des objets FileStream pour chaque document d'entrée, les chargeant sous forme de PdfLoadedDocument, créant un nouveau PdfDocument, appelant ImportPageRange() avec des indices de début et de fin pour chaque source, créant un FileStream de sortie, puis fermant ** six objets distincts ** (finalDocument, loadedDocument1, loadedDocument2, stream1, stream2, outputStream).

IronPDF utilise PdfDocument.FromFile() pour charger chaque PDF et une méthode statique PdfDocument.Merge() qui accepte une liste de documents. Pas de gestion de flux, pas de calcul manuel de l'intervalle de pages, pas d'à-peu-près.


Différences clés dans la philosophie des API

Coordonnées vs HTML/CSS d'abord

Syncfusion PDF utilise un modèle graphique basé sur les coordonnées, hérité des bibliothèques PDF traditionnelles :

// Syncfusion: Manuel positioning
page.Graphics.DrawString("Text", font, PdfBrushes.Black, new PointF(100, 200));
page.Graphics.DrawRectangle(brush, new RectangleF(50, 50, 200, 100));

IronPDF utilise HTML/CSS pour la mise en page :

// IronPDF: CSS-based positioning
var html = @"
<div style='margin: 50px; padding: 20px; border: 1px solid black;'>
    <p style='color: black;'>Text</p>
</div>";
var pdf = renderer.RenderHtmlAsPdf(html);

L'approche HTML/CSS est plus intuitive pour les développeurs web, plus facile à maintenir et produit des résultats cohérents sur différentes tailles de pages.

Gestion des flux de données et nettoyage automatique

Syncfusion PDF nécessite un flux explicite et l'élimination des documents :

// Syncfusion: Manuel cleanup
FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
document.Save(fileStream);
document.Close(true);
fileStream.Close();

IronPDF se charge automatiquement du nettoyage :

// IronPDF: Automatiquecleanup
pdf.SaveAs("Output.pdf");

Comparaison des fonctionnalités

FonctionSyncfusion PDFIronPDF
Achat de StandaloneNon (Document SDK or Essential Studio)Oui
LicenceCommercial avec des restrictions communautairesCommercial simplifié
HTML EngineBlink (NuGets spécifiques à la plateforme)Chromium intégré
Support CSS3Moderne via BlinkPlein (flexbox, grille)
Style APIGraphiques basés sur coordonnées + convertisseur HTMLHTML/CSS d'abord
Gestion des fluxManuelAutomatique
DépendancesPlusieurs paquetsNuGet simple
Complexité du déploiementPotentiellement complexeSimplicité

Liste de contrôle de la migration

Pré-migration

  • Recenser toutes les utilisations de Syncfusion PDFdans le code source
  • Coûts de licence des documents et exigences de déploiement
  • Identifier les usages de PdfGrid, PdfGraphics et HtmlToPdfConverter
  • Obtenez votre clé de licence IronPDF sur IronPDF

Mises à jour du code

  • Supprimer les packages Syncfusion (Syncfusion.Pdf.Net.Core, Syncfusion.HtmlToPdfConverter.Net.Windows, Syncfusion.Licensing)
  • Installer le package NuGet IronPdf
  • Mettre à jour les importations de namespace (using Syncfusion.Pdf;using IronPdf;)
  • Remplacer Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense() par IronPdf.License.LicenseKey = "..."
  • Remplacer HtmlToPdfConverter.Convert() par ChromePdfRenderer.RenderUrlAsPdf() ou RenderHtmlAsPdf()
  • Remplacer PdfDocument + Pages.Add() + Graphics.DrawString() par ChromePdfRenderer.RenderHtmlAsPdf()
  • Remplacer PdfLoadedDocument par PdfDocument.FromFile()
  • Remplacer ImportPageRange() par PdfDocument.Merge()
  • Remplacer document.Save(stream) par pdf.SaveAs(path)
  • Retirer tous les appels document.Close(true) et stream.Close()
  • Remplacer PdfGrid par les éléments HTML <table>
  • Remplacer PdfStandardFont par CSS font-family
  • Remplacer PdfBrushes par les propriétés CSS color

Essai

  • Comparaison visuelle des fichiers PDF générés
  • Vérifier les améliorations du rendu CSS (flexbox et grid fonctionnent désormais)
  • Extraction de texte de test
  • Fusion et division des tests
  • Comparaison des performances

[[i :(Syncfusion est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié à, approuvé par ou sponsorisé par Syncfusion. 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.

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 IronPDF
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