Passer au contenu du pied de page
COMPARAISONS DE PRODUITS

Une Comparaison entre IronPDF et PDFium.NET

Avec l'amélioration de la technologie et l'augmentation de l'usage d'internet, les données sont principalement envoyées et reçues sous forme numérique, principalement dans des fichiers PDF.

Travailler avec des documents PDF en C# a été difficile pour les développeurs dans le passé récent. Il y a de nombreux scénarios où les développeurs doivent intégrer des fonctions de visualisation et de génération de PDF dans leurs applications. En tenant compte de cela, de nombreuses bibliothèques ont été développées pour faciliter ces tâches et des tâches similaires.

Cet article va comparer deux des bibliothèques PDF les plus populaires pour les développeurs .NET et .NET Core. Ces deux bibliothèques sont :

  • La bibliothèque IronPDF .NET
  • La bibliothèque PDFium.NET SDK

IronPDF et PDFium.NET peuvent créer, manipuler et imprimer des PDF dans des applications .NET. La question qui se pose est : quelle bibliothèque devrait être utilisée ? La lecture de cet article vous permettra de décider par vous-même.

Tout d'abord, voyons ce que les deux bibliothèques ont à offrir, puis nous passerons à la comparaison elle-même.

La bibliothèque PDFium.NET SDK et ses fonctionnalités

PDFium.NET est utilisé pour créer, modifier et visualiser des fichiers en tant que PDF (formats de document portables). Il fournit une API C#/VB.NET de haut niveau pour la création dynamique de PDF sur un serveur web et pour implémenter la fonctionnalité Enregistrer en PDF dans des applications de bureau ou web existantes.

Les caractéristiques distinctives de PDFium.NET sont :

  • Créer des PDF à partir de zéro, ou à partir d'une collection d'images scannées
  • Barres d'outils prêtes à l'emploi pour éditer, diviser, fusionner et manipuler des PDF, y compris l'extraction de texte
  • Intégrer un contrôle de visualiseur PDF WinForms ou WPF autonome prenant en charge le zoom
  • Supporte .NET 2.0+, .NET 6, Standard, Core, Mono, Microsoft Azure
  • Et fonctionne aussi sur Windows XP et Mac OS
  • Supporte toute la gamme des capacités de rendu PDF
  • Visualiseur PDF haute performance basé sur la recherche, l'impression et l'édition de fichiers PDF
  • Moteur de traitement de texte extrêmement rapide

IronPDF et ses principales caractéristiques

La bibliothèque PDF IronPDF .NET est spécialement conçue pour les développeurs, particulièrement pour les développeurs C#. Avec cette incroyable bibliothèque PDF, vous pouvez facilement intégrer des capacités de visualisation PDF dans vos projets .NET.

IronPDF a un moteur Chromium intégré qui peut convertir HTML en PDF très facilement. Cela ne nécessite aucune API de bas niveau compliquée pour manipuler des fichiers PDF. Elle peut gérer des fichiers source HTML tels que des documents HTML, des fichiers JavaScript et des pages web ASPX.

IronPDF peut personnaliser les PDF avec des en-têtes et pieds de page personnalisés, des filigranes, et bien plus encore. Cela rend également la lecture de texte PDF et l'extraction de graphiques un jeu d'enfant pour les développeurs.

Les caractéristiques distinctives d'IronPDF pour .NET incluent :

  • Création de documents PDF en utilisant HTML4/5, CSS et JavaScript
  • Chargement d'URL avec des identifiants de connexion réseau personnalisés, agents utilisateurs, proxys, cookies, en-têtes HTTP, et variables de formulaire.
  • Remplissage programmatique des champs de formulaire HTML/PDF.
  • Extraction de texte et de graphiques à partir de fichiers PDF
  • Mise à jour des pages PDF avec du nouveau contenu.
  • Ajout et personnalisation des en-têtes et pieds de page aux PDF.
  • Fusionner et diviser des documents PDF.
  • Convertir des formulaires web ASP.NET en PDF imprimables.
  • Convertir des fichiers/URL HTML en PDF.
  • Imprimer des fichiers PDF sans utiliser Adobe Acrobat Reader.

La bibliothèque IronPDF est disponible pour presque tous les systèmes d'exploitation et frameworks compatibles avec C#, y compris les suivants :

  • .NET Core 2.1, 3.0, 3.1, .NET 5, 6 et 7
  • Compatible avec la norme .NET 2.0 pour une compatibilité universelle
  • Azure, AWS, Docker, Linux, Windows

La suite de l'article se déroule comme suit :

  1. Installation de la bibliothèque IronPDF C#
  2. Installation de PDFium.NET SDK
  3. Créer un document PDF
  4. Créer un PDF à partir de plusieurs images
  5. Signer numériquement un PDF
  6. Tarification et licences
  7. Conclusion

1. Installation de la bibliothèque IronPDF C

Il existe différentes manières de télécharger et installer la bibliothèque IronPDF. Les méthodes les plus simples sont les suivantes :

  1. Utilisation de Visual Studio
  2. L'invite de commandes du développeur
  3. Télécharger le package NuGet directement
  4. Télécharger la bibliothèque IronPDF.DLL

1.1. Utilisation de Visual Studio

Dans votre projet Visual Studio, à partir du menu "Outils" ou faites un clic droit sur votre projet dans l'Explorateur de solutions et sélectionnez "Gérer les packages NuGet". Ces deux options sont illustrées ci-dessous dans les captures d'écran.

class="content-img-align-center">
class="center-image-wrapper"> Une comparaison entre IronPDF et PDFium.NET, Figure 1 : Accéder au gestionnaire de packages NuGet via le menu Outils
class="content-img-align-center">
class="center-image-wrapper"> Une comparaison entre IronPDF et PDFium.NET, Figure 2 : Accéder au gestionnaire de packages NuGet via l'Explorateur de solutions

Une fois le gestionnaire de packages NuGet ouvert, parcourez le package IronPDF et installez-le, comme illustré dans la capture d'écran ci-dessous.

class="content-img-align-center">
class="center-image-wrapper"> Une comparaison entre IronPDF et PDFium.NET, Figure 3 : Installation de la bibliothèque IronPDF utilisant le gestionnaire de packages NuGet

1.2. Utiliser l'invite de commandes du développeur

IronPDF peut également être téléchargé via l'invite de commande du développeur. Suivez les étapes ci-dessous :

  • Ouvrez l'invite de commande du développeur ou la console de gestion des packages à partir du menu Outils.
  • Tapez la commande suivante :
Install-Package IronPdf
  • Appuyez sur la touche Entrée
  • Cela téléchargera et installera la bibliothèque

1.3. Télécharger le package NuGet directement

IronPDF peut également être téléchargé directement en visitant la page du package NuGet IronPDF. Les étapes sont :

  • Recherchez "Télécharger le package" et cliquez dessus.
  • Le package sera téléchargé et installé.

1.4. Installez IronPDF en téléchargeant la bibliothèque

Vous pouvez également télécharger le fichier IronPDF.DLL directement depuis la page de package IronPDF.

class="content-img-align-center">
class="center-image-wrapper"> Une comparaison entre IronPDF et PDFium.NET, Figure 4 : Téléchargement de la bibliothèque IronPDF DLL depuis le site IronPDF

Référencez la bibliothèque IronPDF dans votre projet en utilisant les étapes suivantes :

  • Faites un clic droit sur la solution dans l'Explorateur de solutions et sélectionnez Références
  • Parcourez pour trouver la bibliothèque IronPDF.dll
  • Cliquez sur OK !

Tout est fait ! IronPDF est téléchargé et installé. Nous allons maintenant travailler sur l'installation de la bibliothèque PDFium.NET SDK.

2. Installation de PDFium.NET

Nous pouvons installer PDFium.NET en utilisant le gestionnaire de packages NuGet ou en téléchargeant l'installateur Windows de PDFium.

  • Ouvrez les packages NuGet dans Visual Studio comme nous l'avons fait pour IronPDF.
  • Recherchez PDFium.NET.SDK. Cliquez sur Installer dans votre projet actuel.
class="content-img-align-center">
class="center-image-wrapper"> Une comparaison entre IronPDF et PDFium.NET, Figure 5 : Recherche PDFium.NET
  • Vous pouvez également utiliser la console de gestion des packages pour installer. Suivez l'étape "Utiliser l'invite de commande du développeur" comme mentionné pour IronPDF et tapez la commande suivante :
Install-Package Pdfium.Net.SDK
  • Appuyez sur Entrée. Cela téléchargera et installera la bibliothèque.

3. Créer un document PDF

3.1. Utilisation d'IronPDF

IronPDF fournit plusieurs méthodes pour générer des fichiers PDF. Examinons deux importantes.

URL existante vers PDF

IronPDF rend très simple la conversion HTML en PDF avec le rendu d'URL d'IronPDF en utilisant des URL existantes.

Considérez le code source suivant.

IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Use RenderUrlAsPdf method to convert a given URL to a PDF document
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Save the generated PDF document
Pdf.SaveAs("url.pdf");
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Use RenderUrlAsPdf method to convert a given URL to a PDF document
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Save the generated PDF document
Pdf.SaveAs("url.pdf");
Dim Renderer As New IronPdf.ChromePdfRenderer()

' Use RenderUrlAsPdf method to convert a given URL to a PDF document
Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")

' Save the generated PDF document
Pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

Chaîne d'entrée HTML vers PDF

L'extrait de code suivant montre comment une chaîne HTML peut être utilisée pour rendre une page PDF. Vous pouvez utiliser du HTML simple, ou le combiner avec du CSS, des images, et du JavaScript.

var Renderer = new IronPDF.ChromePdfRenderer();

// Render HTML as a PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
PDF.SaveAs("pixel-perfect.pdf");

// Load external HTML assets: images, css, and javascript
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='logo_square.png'>", @"e:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");
var Renderer = new IronPDF.ChromePdfRenderer();

// Render HTML as a PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
PDF.SaveAs("pixel-perfect.pdf");

// Load external HTML assets: images, css, and javascript
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='logo_square.png'>", @"e:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");
Dim Renderer = New IronPDF.ChromePdfRenderer()

' Render HTML as a PDF
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")
PDF.SaveAs("pixel-perfect.pdf")

' Load external HTML assets: images, css, and javascript
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
Dim AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='logo_square.png'>", "e:\site\assets\")
AdvancedPDF.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

Le résultat est le suivant :

class="content-img-align-center">
class="center-image-wrapper"> Une comparaison entre IronPDF et PDFium.NET, Figure 6 : IronPDF Générer un PDF à partir d'une URL et d'une chaîne HTML

3.2. Utilisation de PDFium.NET

Il peut générer des documents PDF à la volée en utilisant des images et des objets texte. Cependant, il ne peut pas convertir une URL ou une chaîne HTML en fichier PDF.

Voici un exemple de code pour générer des PDF en utilisant la construction PDFium.NET :

public void CreatePDF()
{
    // Step 1: Initialize PDF library and create an empty document
    PdfCommon.Initialize();
    var doc = PdfDocument.CreateNew();  // Create a new PDF document

    // Step 2: Add a new page
    // Arguments: page width: 8.27", page height: 11.69", Unit of measure: inches
    //  The PDF unit of measure is a point. There are 72 points in one inch.
    var page = doc.Pages.InsertPageAt(doc.Pages.Count, 8.27f * 72, 11.69f * 72);

    // Step 3: Add graphics and text contents to the page
    // Insert image from file using the standard System.Drawing.Bitmap class
    using (PdfBitmap logo = PdfBitmap.FromFile(@"e:\site\assets\logo_square.png"))
    {
        PdfImageObject imageObject = PdfImageObject.Create(doc, logo, 0, 0);
        // Set image resolution to 300 DPI and location to 1.69 x 10.0 inches
        imageObject.Matrix = new FS_MATRIX(logo.Width * 72 / 300, 0, 0, logo.Height * 72 / 300, 1.69 * 72, 10.0 * 72);
        page.PageObjects.Add(imageObject);
    }

    // Create fonts for text objects
    PdfFont calibryBold = PdfFont.CreateFont(doc, "CalibriBold");
    // Insert text objects at 7.69"; 11.02" and font size is 25
    PdfTextObject textObject = PdfTextObject.Create("Sample text", 7.69f * 72, 11.02f * 72, calibryBold, 25);
    textObject.FillColor = FS_COLOR.Black;
    page.PageObjects.Add(textObject);

    // Step 5: Generate page content and save PDF file
    // Argument: PDF file name
    page.GenerateContent();
    doc.Save(@"e:\site\sample_document.pdf", SaveFlags.NoIncremental);
}
public void CreatePDF()
{
    // Step 1: Initialize PDF library and create an empty document
    PdfCommon.Initialize();
    var doc = PdfDocument.CreateNew();  // Create a new PDF document

    // Step 2: Add a new page
    // Arguments: page width: 8.27", page height: 11.69", Unit of measure: inches
    //  The PDF unit of measure is a point. There are 72 points in one inch.
    var page = doc.Pages.InsertPageAt(doc.Pages.Count, 8.27f * 72, 11.69f * 72);

    // Step 3: Add graphics and text contents to the page
    // Insert image from file using the standard System.Drawing.Bitmap class
    using (PdfBitmap logo = PdfBitmap.FromFile(@"e:\site\assets\logo_square.png"))
    {
        PdfImageObject imageObject = PdfImageObject.Create(doc, logo, 0, 0);
        // Set image resolution to 300 DPI and location to 1.69 x 10.0 inches
        imageObject.Matrix = new FS_MATRIX(logo.Width * 72 / 300, 0, 0, logo.Height * 72 / 300, 1.69 * 72, 10.0 * 72);
        page.PageObjects.Add(imageObject);
    }

    // Create fonts for text objects
    PdfFont calibryBold = PdfFont.CreateFont(doc, "CalibriBold");
    // Insert text objects at 7.69"; 11.02" and font size is 25
    PdfTextObject textObject = PdfTextObject.Create("Sample text", 7.69f * 72, 11.02f * 72, calibryBold, 25);
    textObject.FillColor = FS_COLOR.Black;
    page.PageObjects.Add(textObject);

    // Step 5: Generate page content and save PDF file
    // Argument: PDF file name
    page.GenerateContent();
    doc.Save(@"e:\site\sample_document.pdf", SaveFlags.NoIncremental);
}
Public Sub CreatePDF()
	' Step 1: Initialize PDF library and create an empty document
	PdfCommon.Initialize()
	Dim doc = PdfDocument.CreateNew() ' Create a new PDF document

	' Step 2: Add a new page
	' Arguments: page width: 8.27", page height: 11.69", Unit of measure: inches
	'  The PDF unit of measure is a point. There are 72 points in one inch.
	Dim page = doc.Pages.InsertPageAt(doc.Pages.Count, 8.27F * 72, 11.69F * 72)

	' Step 3: Add graphics and text contents to the page
	' Insert image from file using the standard System.Drawing.Bitmap class
	Using logo As PdfBitmap = PdfBitmap.FromFile("e:\site\assets\logo_square.png")
		Dim imageObject As PdfImageObject = PdfImageObject.Create(doc, logo, 0, 0)
		' Set image resolution to 300 DPI and location to 1.69 x 10.0 inches
		imageObject.Matrix = New FS_MATRIX(logo.Width * 72 \ 300, 0, 0, logo.Height * 72 \ 300, 1.69 * 72, 10.0 * 72)
		page.PageObjects.Add(imageObject)
	End Using

	' Create fonts for text objects
	Dim calibryBold As PdfFont = PdfFont.CreateFont(doc, "CalibriBold")
	' Insert text objects at 7.69"; 11.02" and font size is 25
	Dim textObject As PdfTextObject = PdfTextObject.Create("Sample text", 7.69F * 72, 11.02F * 72, calibryBold, 25)
	textObject.FillColor = FS_COLOR.Black
	page.PageObjects.Add(textObject)

	' Step 5: Generate page content and save PDF file
	' Argument: PDF file name
	page.GenerateContent()
	doc.Save("e:\site\sample_document.pdf", SaveFlags.NoIncremental)
End Sub
$vbLabelText   $csharpLabel

Le résultat est le suivant :

class="content-img-align-center">
class="center-image-wrapper"> Une comparaison entre IronPDF et PDFium.NET, Figure 7 : PDFium.NET Générer PDF

Si nous comparons le résultat de IronPDF au projet PDFium, nous pouvons clairement voir que le rendu basé sur la classe bibliothèque d'IronPDF donne de meilleurs résultats en utilisant le rendu HTML sans avoir besoin de redimensionner l'image. D'autre part, PDFium.NET fournit un rendu similaire à IronPDF mais uniquement avec un redimensionnement d'image. Si nous passons la ligne suivante dans le code :

imageObject.Matrix = new FS_MATRIX(logo.Width * 72 / 300, 0, 0, logo.Height * 72 / 300, 1.69 * 72, 10.0 * 72);
imageObject.Matrix = new FS_MATRIX(logo.Width * 72 / 300, 0, 0, logo.Height * 72 / 300, 1.69 * 72, 10.0 * 72);
imageObject.Matrix = New FS_MATRIX(logo.Width * 72 \ 300, 0, 0, logo.Height * 72 \ 300, 1.69 * 72, 10.0 * 72)
$vbLabelText   $csharpLabel

Le résultat sera :

class="content-img-align-center">
class="center-image-wrapper"> Une comparaison entre IronPDF et PDFium.NET, Figure 8 : Résultat PDFium.NET sans redimensionnement d'image PDF

4. Créer un PDF à partir de plusieurs images

4.1. Utilisation d'IronPDF

Fusionner deux ou plusieurs PDF est facile dans IronPDF. En utilisant la méthode Merge, vous pouvez combiner deux ou plusieurs PDF où chaque fichier est séparé par une virgule. Le code est le suivant :

using IronPdf;

var html_a = @"<p> [PDF_A] </p>
                <p> [PDF_A] 1st Page </p>
                <div style = 'page-break-after: always;'></div>
                <p> [PDF_A] 2nd Page</p>";

var html_b = @"<p> [PDF_B] </p>
                <p> [PDF_B] 1st Page </p>
                <div style = 'page-break-after: always;'></div>
                <p> [PDF_B] 2nd Page</p>";

var Renderer = new IronPDF.ChromePdfRenderer();

// Render HTML documents as PDFs
var pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b);

// Merge the documents into one PDF
var merged = IronPDF.PdfDocument.Merge(pdfdoc_a, pdfdoc_b);

// Save the merged document
merged.SaveAs("Merged.PDF");
using IronPdf;

var html_a = @"<p> [PDF_A] </p>
                <p> [PDF_A] 1st Page </p>
                <div style = 'page-break-after: always;'></div>
                <p> [PDF_A] 2nd Page</p>";

var html_b = @"<p> [PDF_B] </p>
                <p> [PDF_B] 1st Page </p>
                <div style = 'page-break-after: always;'></div>
                <p> [PDF_B] 2nd Page</p>";

var Renderer = new IronPDF.ChromePdfRenderer();

// Render HTML documents as PDFs
var pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b);

// Merge the documents into one PDF
var merged = IronPDF.PdfDocument.Merge(pdfdoc_a, pdfdoc_b);

// Save the merged document
merged.SaveAs("Merged.PDF");
Imports IronPdf

Private html_a = "<p> [PDF_A] </p>
                <p> [PDF_A] 1st Page </p>
                <div style = 'page-break-after: always;'></div>
                <p> [PDF_A] 2nd Page</p>"

Private html_b = "<p> [PDF_B] </p>
                <p> [PDF_B] 1st Page </p>
                <div style = 'page-break-after: always;'></div>
                <p> [PDF_B] 2nd Page</p>"

Private Renderer = New IronPDF.ChromePdfRenderer()

' Render HTML documents as PDFs
Private pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a)
Private pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b)

' Merge the documents into one PDF
Private merged = IronPDF.PdfDocument.Merge(pdfdoc_a, pdfdoc_b)

' Save the merged document
merged.SaveAs("Merged.PDF")
$vbLabelText   $csharpLabel

4.2. Utilisation de PDFium.NET

Avec PDFium.NET, vous pouvez non seulement fusionner plusieurs fichiers PDF en un seul fichier, mais aussi sélectionner des pages spécifiques des fichiers source et les combiner en un document PDF.

Le code ci-dessous montre comment cela peut être fait en utilisant la méthode ImportPages :

public void MergePDF()
{
    // Initialize the SDK library.
    PdfCommon.Initialize();

    // Open and load a PDF document into which other files will be merged 
    using (var mainDoc = PdfDocument.Load(@"c:\test001.pdf")) // Read source PDF File #1
    {
        // Open one PDF document.
        using (var doc = PdfDocument.Load(@"c:\doc1.pdf")) // Read PDF File #2
        {
            // Import all pages from the document
            mainDoc.Pages.ImportPages(
                doc,
                string.Format("1-{0}", doc.Pages.Count),
                mainDoc.Pages.Count
                );
        }

        // Open another PDF document.
        using (var doc = PdfDocument.Load(@"c:\doc2.pdf"))
        {
            // Import all pages from the document
            mainDoc.Pages.ImportPages(
                doc,
                string.Format("1-{0}", doc.Pages.Count),
                mainDoc.Pages.Count
                );
        }

        // Save the merged document
        mainDoc.Save(@"c:\ResultDocument.pdf", SaveFlags.NoIncremental);
    }
}
public void MergePDF()
{
    // Initialize the SDK library.
    PdfCommon.Initialize();

    // Open and load a PDF document into which other files will be merged 
    using (var mainDoc = PdfDocument.Load(@"c:\test001.pdf")) // Read source PDF File #1
    {
        // Open one PDF document.
        using (var doc = PdfDocument.Load(@"c:\doc1.pdf")) // Read PDF File #2
        {
            // Import all pages from the document
            mainDoc.Pages.ImportPages(
                doc,
                string.Format("1-{0}", doc.Pages.Count),
                mainDoc.Pages.Count
                );
        }

        // Open another PDF document.
        using (var doc = PdfDocument.Load(@"c:\doc2.pdf"))
        {
            // Import all pages from the document
            mainDoc.Pages.ImportPages(
                doc,
                string.Format("1-{0}", doc.Pages.Count),
                mainDoc.Pages.Count
                );
        }

        // Save the merged document
        mainDoc.Save(@"c:\ResultDocument.pdf", SaveFlags.NoIncremental);
    }
}
Public Sub MergePDF()
	' Initialize the SDK library.
	PdfCommon.Initialize()

	' Open and load a PDF document into which other files will be merged 
	Using mainDoc = PdfDocument.Load("c:\test001.pdf") ' Read source PDF File #1
		' Open one PDF document.
		Using doc = PdfDocument.Load("c:\doc1.pdf") ' Read PDF File #2
			' Import all pages from the document
			mainDoc.Pages.ImportPages(doc, String.Format("1-{0}", doc.Pages.Count), mainDoc.Pages.Count)
		End Using

		' Open another PDF document.
		Using doc = PdfDocument.Load("c:\doc2.pdf")
			' Import all pages from the document
			mainDoc.Pages.ImportPages(doc, String.Format("1-{0}", doc.Pages.Count), mainDoc.Pages.Count)
		End Using

		' Save the merged document
		mainDoc.Save("c:\ResultDocument.pdf", SaveFlags.NoIncremental)
	End Using
End Sub
$vbLabelText   $csharpLabel

5. Signer numériquement un PDF

5.1. Utilisation d'IronPDF

L'une des caractéristiques les plus importantes de nos jours est la signature numérique d'un document PDF. IronPDF offre cette fonctionnalité. Le code est le suivant :

using IronPdf;

// Cryptographically sign an existing PDF in 1 line of code!
new IronPDF.Signing.PdfSignature("Iron.p12", "123456").SignPdfFile("any.pdf");

/***** Advanced example for more control *****/

// Step 1. Create a PDF
var Renderer = new IronPdf.ChromePdfRenderer();
var doc = Renderer.RenderHtmlAsPDF("<h1>Testing 2048 bit digital security</h1>");

// Step 2. Create a Signature.
// You may create a .pfx or .p12 PDF signing certificate using Adobe Acrobat Reader.

var signature = new IronPDF.Signing.PdfSignature("Iron.pfx", "123456");

// Step 3. Handwritten signature graphic
signature.LoadSignatureImageFromFile("handwriting.png");

// Step 4. Sign the PDF with the PDFSignature. Multiple signing certificates may be used
doc.SignPdfWithDigitalSignature(signature);

// Step 4. The PDF is not signed until saved to file, stream, or byte array.
doc.SaveAs("signed.pdf"); 
using IronPdf;

// Cryptographically sign an existing PDF in 1 line of code!
new IronPDF.Signing.PdfSignature("Iron.p12", "123456").SignPdfFile("any.pdf");

/***** Advanced example for more control *****/

// Step 1. Create a PDF
var Renderer = new IronPdf.ChromePdfRenderer();
var doc = Renderer.RenderHtmlAsPDF("<h1>Testing 2048 bit digital security</h1>");

// Step 2. Create a Signature.
// You may create a .pfx or .p12 PDF signing certificate using Adobe Acrobat Reader.

var signature = new IronPDF.Signing.PdfSignature("Iron.pfx", "123456");

// Step 3. Handwritten signature graphic
signature.LoadSignatureImageFromFile("handwriting.png");

// Step 4. Sign the PDF with the PDFSignature. Multiple signing certificates may be used
doc.SignPdfWithDigitalSignature(signature);

// Step 4. The PDF is not signed until saved to file, stream, or byte array.
doc.SaveAs("signed.pdf"); 
Imports IronPdf

' Cryptographically sign an existing PDF in 1 line of code!
Call (New IronPDF.Signing.PdfSignature("Iron.p12", "123456")).SignPdfFile("any.pdf")

'''*** Advanced example for more control ****

' Step 1. Create a PDF
Dim Renderer = New IronPdf.ChromePdfRenderer()
Dim doc = Renderer.RenderHtmlAsPDF("<h1>Testing 2048 bit digital security</h1>")

' Step 2. Create a Signature.
' You may create a .pfx or .p12 PDF signing certificate using Adobe Acrobat Reader.

Dim signature = New IronPDF.Signing.PdfSignature("Iron.pfx", "123456")

' Step 3. Handwritten signature graphic
signature.LoadSignatureImageFromFile("handwriting.png")

' Step 4. Sign the PDF with the PDFSignature. Multiple signing certificates may be used
doc.SignPdfWithDigitalSignature(signature)

' Step 4. The PDF is not signed until saved to file, stream, or byte array.
doc.SaveAs("signed.pdf")
$vbLabelText   $csharpLabel

PDFium.NET n'a pas cette capacité de signer numériquement des documents PDF.

6. Tarification et licences

Tarification et licences d'IronPDF

IronPDF est gratuit à utiliser pour développer des applications simples et peut être licencié pour un usage commercial à tout moment. Il propose des licences pour projet unique, développeur unique, agences, et organisations multinationales. Il propose aussi des licences de redistribution SaaS et OEM et un support.

Toutes les licences IronPDF sont disponibles avec une garantie de remboursement de 30 jours, plus un an de support logiciel et de mises à jour. Le plus important, c'est une licence perpétuelle (achat unique). Le package Lite est disponible. Il n'y a absolument aucuns frais récurrents avec les produits IronPDF. Des informations plus détaillées sur les licences disponibles sont sur la page de licences IronPDF.

Une comparaison entre IronPDF et PDFium.NET, Figure 9 : Licences IronPDF

Tarification et licences PDFium.NET

PDFium.NET offre une licence perpétuelle. Vous pouvez utiliser cette version SDK prise en charge avec votre clé d'enregistrement pour toujours. Cependant, la clé ne fonctionne qu'avec certaines versions spécifiques du SDK qui dépendent de la date d'achat ou de renouvellement de la licence. Vous pouvez installer n'importe quelle nouvelle version du produit gratuitement, à condition qu'elle ait été publiée avant ou dans l'année suivant votre achat. PDFium.NET propose également 3 différents paquets de licences :

  • Licence de projet unique est conçue pour les développeurs uniques et les petites équipes travaillant sur un seul projet. À partir de 720 $.
  • Licence organisationnelle est conçue pour les équipes de développement travaillant sur plusieurs projets.
  • Licence développeur unique est conçue pour les développeurs individuels et les freelances travaillant pour plusieurs clients.

Vous pouvez visiter la page d'achat PDFium.NET pour les détails de tarification complets.

Conclusion

La bibliothèque IronPDF est une bibliothèque facile à utiliser pour créer des documents PDF sans aucune API compliquée. Le moteur chromium intégré permet une conversion HTML en PDF au pixel près avec des types de documents standards ouverts tels que HTML, JS, CSS, JPG, PNG, GIF, et SVG.

Le SDK PDFium.NET est une bibliothèque de classe .NET conçue pour répondre aux besoins les plus courants qu'un développeur a pour un prix plus qu'abordable. Avec le SDK PDFium.NET, vos applications peuvent afficher et manipuler des documents PDF facilement. Son API spéciale d'édition d'objets Page est ce qui rend cette bibliothèque particulièrement puissante.

Les licences PDFium.NET sont disponibles en trois éditions comme mentionné ci-dessus. La licence de projet unique offre des installations pour un développeur unique et jusqu'à trois développeurs à partir de 720 $ et 900 $ respectivement. C'est quelque peu moins cher qu'IronPDF, qui a une version lite commençant à un prix inférieur.

IronPDF offre une licence illimitée à un prix compétitif. En revanche, PDFium.NET a une licence organisationnelle pour un nombre illimité de développeurs pour un prix premium. À l'inverse, IronPDF propose une licence professionnelle qui peut être utilisée par 10 développeurs, et est environ la moitié du prix de la licence équivalente de PDFium.NET pour 10 développeurs.

Dans les exemples ci-dessus, vous avez vu IronPDF créer et modifier des documents PDF en utilisant beaucoup moins de lignes de code comparé à PDFium.NET. Cela aide à alléger la charge de travail du développeur et leur permet d'être plus productifs. IronPDF offre plusieurs méthodes pour convertir presque n'importe quel format en PDF. À l'inverse, PDFium.NET n'offre que quelques méthodes comme les images et le texte en PDF.

Vous pouvez maintenant acheter toutes les bibliothèques de produits Iron Software pour le prix de seulement deux d'entre elles. De plus, il y a un essai gratuit pour tester les fonctionnalités.

Veuillez noterPDFium.NET est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié, approuvé ou sponsorisé par PDFium.NET. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont à des fins d'information uniquement et reflètent les informations disponibles publiquement au moment de la rédaction.

Questions Fréquemment Posées

Comment puis-je convertir HTML en PDF en C# ?

Vous pouvez utiliser la méthode RenderHtmlAsPdf d'IronPDF pour convertir des chaînes HTML en PDFs. De plus, vous pouvez convertir des fichiers HTML en PDFs en utilisant la méthode RenderHtmlFileAsPdf.

Quelles sont les principales fonctionnalités d'IronPDF pour le traitement des PDF ?

IronPDF permet aux développeurs de créer des documents PDF en utilisant HTML, CSS et JavaScript. Il propose la conversion d'URL en PDF, l'extraction de texte et de graphiques, des en-têtes et pieds de page personnalisés, la fusion et la séparation de PDF, et la possibilité d'imprimer des PDF sans Adobe Acrobat Reader.

IronPDF peut-il signer numériquement des documents PDF ?

Oui, IronPDF prend en charge les signatures numériques, vous permettant de sécuriser des documents PDF avec une signature cryptographique.

Quelles sont les options d'installation pour IronPDF ?

IronPDF peut être installé via Visual Studio, le Developer Command Prompt, en téléchargeant le package NuGet, ou en obtenant la bibliothèque IronPDF.DLL.

Quelles options de licence et de tarification IronPDF propose-t-il ?

IronPDF propose plusieurs options de licence, y compris des licences pour un seul projet, un seul développeur, une agence et une organisation multinationale. Il fournit également des licences de redistribution SaaS et OEM, toutes avec une garantie de remboursement de 30 jours.

Comment IronPDF améliore-t-il l'efficacité du développement ?

IronPDF est conçu pour nécessiter moins de lignes de code pour créer et modifier des documents PDF par rapport aux autres bibliothèques comme PDFium.NET, améliorant ainsi la productivité des développeurs.

IronPDF prend-il en charge les fonctionnalités PDF multiplateformes?

Oui, IronPDF prend en charge divers systèmes d'exploitation et cadres, ce qui en fait un choix polyvalent pour les fonctionnalités PDF multiplateformes.

Quels sont les avantages d'utiliser IronPDF par rapport à d'autres bibliothèques PDF ?

IronPDF offre une facilité d'utilisation, un ensemble robuste de fonctionnalités telles que la conversion HTML en PDF et des tarifs compétitifs, faisant de lui un choix privilégié pour de nombreux développeurs par rapport aux autres bibliothèques PDF.

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

Lire la suite