Passer au contenu du pied de page
COMPARAISONS DE PRODUITS

Une Comparaison entre IronPDF et ExpertPDF pour .NET

Les développeurs en C# ont toujours rencontré des défis lorsqu'il s'agit de lire, écrire, créer ou convertir des PDF entre différents formats de fichiers. Cependant, avec l'émergence de nombreuses bibliothèques, ces problèmes ont été résolus, et l'intégration facile de ces bibliothèques les a rendues plus populaires et faciles à utiliser dans les applications C#.

Cet article vise à comparer deux des bibliothèques PDF les plus populaires pour les développeurs .NET Framework et .NET Core:

  • IronPDF
  • ExpertPDF

Ces deux bibliothèques sont des bibliothèques .NET C# qui offrent des méthodes pour générer, convertir et éditer des PDF dans .NET et .NET Core. La principale question est de décider laquelle de ces bibliothèques PDF C# est la mieux adaptée à notre projet. Dans cet article, nous allons comparer ces deux bibliothèques de manière exhaustive, en soulignant leurs caractéristiques remarquables, afin que vous puissiez prendre une décision éclairée lors du choix de la bonne bibliothèque pour votre projet.

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

La bibliothèque IronPDF

IronPDF est une solution complète de bibliothèque PDF .NET particulièrement bénéfique pour les développeurs C#. Avec cette bibliothèque, vous pouvez facilement implémenter toutes les fonctionnalités nécessaires pour créer un excellent lecteur PDF ou visionneuse PDF en C#.

IronPDF dispose d'un moteur Chromium .NET qui rend le contenu HTML en documents PDF, ce qui facilite la conception ou le positionnement des PDF sans nécessiter d'API complexes. Son convertisseur de HTML en PDF permet la création d'une bibliothèque PDF .NET à l'aide de HTML5, CSS, JavaScript, et d'images. De plus, il vous permet d'éditer des PDF, d'ajouter des en-têtes et des pieds de page, et d'extraire des images des PDF facilement. En outre, il rend la lecture de texte PDF un processus simple.

Fonctionnalités

Créer des fichiers PDF (HTML en PDF)

  • Créer des fichiers PDF à partir de HTML, CSS et JavaScript
  • Générer des documents PDF à partir de l'URL d'un site web
  • Charger des URL de pages web avec des identifiants de connexion personnalisés

Éditeur PDF sans Adobe Acrobat Reader

  • Remplir et lire les données de champs de formulaires entièrement éditables en PDF
  • Extraire du texte et des images des PDF
  • Estampiller du contenu HTML sur n'importe quelle page existante
  • Ajouter des en-têtes et pieds de page HTML
  • Ajouter des annotations et signer numériquement des documents PDF

Manipulation des documents PDF

  • Charger et analyser des documents existants
  • Fusionner et diviser le contenu des documents
  • Ajouter des filigranes, du texte et des actifs

Convertir à partir de plusieurs formats de fichiers

  • Convertir des ASPX WebForms avec seulement trois lignes de code
  • Convertir le HTML en fichiers PDF
  • Images (PNG, JPG, GIF, TIFF) en PDF

Sauvegarder et imprimer

  • Enregistrer un fichier en données binaires ou MemoryStreams
  • Imprimer des types de médias CSS
  • Transformer des fichiers PDF en un objet document à imprimer et imprimer sans Adobe

ExpertPDF

Visiter le site officiel d'ExpertPDF pour des informations détaillées pour en savoir plus sur leur bibliothèque .NET qui offre aux développeurs de convertir de HTML en PDF instantanément. Si vous avez besoin de générer des rapports PDF ou de créer un lecteur PDF, vous n'avez plus besoin d'utiliser un logiciel complexe de génération de rapports.

ExpertPDF est facile à utiliser tout en étant un éditeur PDF puissant. Il contient un convertisseur HTML en PDF de haute qualité qui peut être implémenté dans n'importe quelle application .NET en quelques minutes. Il fonctionne avec .NET Framework, .NET Core, .NET 5 et .NET 6.

C'est une bibliothèque .NET puissante qui vous aide à créer des visionneuses PDF et des documents à partir de n'importe quel URL de page web ou balisage HTML brut, chaîne ou fichier dans des applications .NET Framework ou .NET Core.

Caractéristiques distinctives

Voici les caractéristiques importantes :

  • Convertir une page web URL en PDF
  • Convertir une chaîne HTML en PDF
  • Plusieurs options de fichiers de sortie
  • Définir les marges et la taille des pages
  • Définir des en-têtes et pieds de page
  • Ajouter des sauts de page automatiques et personnalisés
  • Convertir seulement une partie spécifique de la page web en PDF
  • Masquer des éléments spécifiques de la page lors de la conversion en PDF
  • Fusionner plusieurs pages web en un seul PDF
  • Convertir des pages web en PDF nécessitant une authentification
  • Sélectionner le type de media CSS (écran ou impression) pour le rendu
  • Prise en charge des signets
  • Prise en charge de la signature numérique
  • Récupérer les positions des éléments HTML dans le PDF
  • Prise en charge des derniers HTML5/CSS3
  • Prise en charge des polices web telles que les polices open type et true type
  • Conversions de types de fichiers :
    • PDF en Convertisseur de texte
    • Convertisseur de HTML en PDF
    • Convertisseur de HTML en image
    • Convertisseur de PDF en image
    • Convertisseur de RTF en PDF

Le reste de l'article couvrira les sujets suivants :

  1. Créer un projet console
  2. Installation d'IronPDF
  3. Installation d'ExpertPDF
  4. Créer un PDF à partir d'une URL
  5. Créer un PDF à partir d'une chaîne d'entrée HTML
  6. Fusionner plusieurs PDF en un seul PDF
  7. Convertir des images en PDF
  8. Licences et tarifs
  9. Conclusion

1. Créer un projet console

Suivez les étapes pour créer une application console en C# en utilisant Visual Studio 2022 :

  • Ouvrez Visual Studio 2022 et cliquez sur créer un nouveau projet

<Visual Studio 2022

  • Sélectionnez une application console C# et cliquez sur suivant

<Boîte de dialogue Nouveau projet

  • À l'écran suivant, tapez le nom de votre projet et cliquez sur suivant

<Web Forms

  • Choisissez le .NET Framework pour votre application. Nous utiliserons la dernière version 6.0.

<Informations supplémentaires

Maintenant notre projet console est créé et nous sommes prêts à tester nos bibliothèques. Cependant, nous devons encore les configurer dans notre projet. Installons d'abord IronPDF.

2. Installation d'IronPDF

Il existe plusieurs moyens de télécharger et installer la bibliothèque IronPDF. Les voici :

  1. Utilisation de Visual Studio
  2. Télécharger directement le Package NuGet
  3. Télécharger la bibliothèque IronPDF .DLL

2.1. Utilisation de Visual Studio

Visual Studio propose un gestionnaire de packages NuGet pour installer tous les paquets NuGet dans les projets C#. Vous pouvez y accéder soit par :

  • Menu Outils Projet, ou
  • Clic droit sur le projet dans l'Explorateur de solutions

<Explorateur de solutions

![Project Menu > Manage NuGet Packages](/static-assets/pdf/blog/expert-pdf-net-library-alternatives/expert-pdf-net-library-alternatives-6.webp)

Une fois sélectionné, parcourez pour trouver le package NuGet IronPDF, et installez-le :

2.2. Télécharger directement le package NuGet

Une autre méthode est de télécharger IronPDF depuis le site web NuGet. Visitez la page NuGet IronPDF directement et téléchargez le package. Suivez les étapes :

  • Allez sur Package NuGet IronPDF
  • Sélectionnez "Télécharger le package"
  • Double-cliquez sur le package téléchargé
  • Le package sera alors installé
  • Rechargez Visual Studio et commencez à l'utiliser

2.4. Installer IronPDF : télécharger la bibliothèque

Vous pouvez également télécharger le fichier IronPDF .DLL directement depuis le site web IronPDF. Cliquez sur Télécharger IronPDF DLL pour installer.

Ensuite, référencez IronPDF dans votre projet en suivant ces étapes :

  • Faites un clic droit sur la Solution dans l'Explorateur de solutions
  • Sélectionnez "Ajouter une référence"
  • Parcourez pour trouver la bibliothèque IronPDF.dll
  • Cliquez sur OK et c'est fait !

Tout est fait ! IronPDF est maintenant installé et prêt à être utilisé. Cependant, avant cela, nous allons installer ExpertPDF pour comparaison.

3. Installation d'ExpertPDF

Il existe deux façons de télécharger et installer la bibliothèque ExpertPDF :

  • Utilisation du gestionnaire de packages NuGet de Visual Studio pour .NET Framework, .NET Core, .NET 5, .NET 6
  • Télécharger les assemblages (anciennes versions de .NET Framework)

Nous allons travailler avec le nouveau .NET Framework, donc nous installerons ExpertPDF en utilisant le gestionnaire de packages NuGet.

3.1. Utilisation de Visual Studio NuGet Package Manager

Tout comme IronPDF, vous pouvez accéder au gestionnaire de packages NuGet par :

  • Menu Outils Projet
  • Clic droit sur le projet dans l'Explorateur de solutions

<Explorateur de solutions

![Project Menu > Manage NuGet Packages](/static-assets/pdf/blog/expert-pdf-net-library-alternatives/expert-pdf-net-library-alternatives-8.webp)

Une fois sélectionné, parcourez pour trouver le package NuGet ExpertPDF, et installez-le :

Note : ExpertPDF ne prend en charge que les systèmes d'exploitation Windows.

4. Créer un PDF à partir d'une URL

Les deux bibliothèques ont la capacité de convertir le balisage HTML en PDF. Maintenant, examinons le code C# pour chaque bibliothèque une par une.

4.1. URL en PDF en utilisant IronPDF

IronPDF est très simple lors du rendu de HTML à partir d'URL existantes en PDF. Il offre un niveau de support très élevé pour les CSS, JavaScript, images et formulaires.

L'exemple de code suivant crée un PDF directement à partir d'une URL de site web.

// Import the IronPdf library
using IronPdf;

// Initialize a new renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the specified URL as a PDF
var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Save the rendered PDF to a file
pdf.SaveAs("url.pdf");
// Import the IronPdf library
using IronPdf;

// Initialize a new renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the specified URL as a PDF
var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Save the rendered PDF to a file
pdf.SaveAs("url.pdf");
' Import the IronPdf library
Imports IronPdf

' Initialize a new renderer
Private renderer As New ChromePdfRenderer()
' Render the specified URL as a PDF
Private pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/")
' Save the rendered PDF to a file
pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

4.2. URL en PDF en utilisant ExpertPDF

ExpertPDF convertit l'URL en PDF en utilisant une méthode savePdfFromUrlToFile, qui est rapide, sécurisée et efficace. La mise en forme de la page est enregistrée telle qu'elle est dans le navigateur web réel.

// Import the ExpertPdf.HtmlToPdf namespace
using ExpertPdf.HtmlToPdf;

// Initialize a new PdfConverter
PdfConverter pdfConverter = new PdfConverter();
// Use PdfConverter to save a webpage URL directly to a PDF file
pdfConverter.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf");
// Import the ExpertPdf.HtmlToPdf namespace
using ExpertPdf.HtmlToPdf;

// Initialize a new PdfConverter
PdfConverter pdfConverter = new PdfConverter();
// Use PdfConverter to save a webpage URL directly to a PDF file
pdfConverter.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf");
' Import the ExpertPdf.HtmlToPdf namespace
Imports ExpertPdf.HtmlToPdf

' Initialize a new PdfConverter
Private pdfConverter As New PdfConverter()
' Use PdfConverter to save a webpage URL directly to a PDF file
pdfConverter.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf")
$vbLabelText   $csharpLabel

5. Créer un PDF à partir d'une chaîne d'entrée HTML

IronPDF et ExpertPDF offrent tous deux la possibilité de créer des PDF à partir d'une chaîne de balisage contenant du HTML.

5.1. Chaîne d'entrée HTML utilisant IronPDF

Le snippet de code suivant démontre comment une image de document PDF est rendue à l'aide d'une chaîne d'entrée HTML.

// Import the IronPdf library
using IronPdf;

// Initialize a new renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render a PDF from HTML string and save it
var pdfDoc1 = renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
pdfDoc1.SaveAs("pixel-perfect.pdf");

// Render HTML with external assets and save it
var pdfDoc2 = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
pdfDoc2.SaveAs("html-with-assets.pdf");
// Import the IronPdf library
using IronPdf;

// Initialize a new renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render a PDF from HTML string and save it
var pdfDoc1 = renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
pdfDoc1.SaveAs("pixel-perfect.pdf");

// Render HTML with external assets and save it
var pdfDoc2 = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
pdfDoc2.SaveAs("html-with-assets.pdf");
' Import the IronPdf library
Imports IronPdf

' Initialize a new renderer
Private renderer As New ChromePdfRenderer()
' Render a PDF from HTML string and save it
Private pdfDoc1 = renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")
pdfDoc1.SaveAs("pixel-perfect.pdf")

' Render HTML with external assets and save it
Dim pdfDoc2 = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
pdfDoc2.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

5.2. Chaîne d'entrée HTML utilisant ExpertPDF

Le convertisseur HTML en PDF d'ExpertPDF prend en charge la conversion d'une chaîne HTML en PDF. Le code est simple et explicite comme URL en PDF :

// Import the ExpertPdf.HtmlToPdf namespace
using ExpertPdf.HtmlToPdf;

// Initialize a new PdfConverter
PdfConverter pdfConverter = new PdfConverter();
// Use PdfConverter to save an HTML string to a PDF file
pdfConverter.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf");
// Import the ExpertPdf.HtmlToPdf namespace
using ExpertPdf.HtmlToPdf;

// Initialize a new PdfConverter
PdfConverter pdfConverter = new PdfConverter();
// Use PdfConverter to save an HTML string to a PDF file
pdfConverter.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf");
' Import the ExpertPdf.HtmlToPdf namespace
Imports ExpertPdf.HtmlToPdf

' Initialize a new PdfConverter
Private pdfConverter As New PdfConverter()
' Use PdfConverter to save an HTML string to a PDF file
pdfConverter.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf")
$vbLabelText   $csharpLabel

Le premier argument est la chaîne HTML réelle, et le second argument est le nom de fichier dans lequel le document scanné sera enregistré.

Exemple de documentation Bootstrap

Les bibliothèques techniques bénéficient d'une documentation claire avec des exemples de code. Cette démonstration Bootstrap 5 montre la capacité d'IronPDF à rendre la documentation technique avec mise en évidence de la syntaxe, alertes, et mises en page structurées.

using IronPdf;

var renderer = new ChromePdfRenderer();

string technicalDocs = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .code-block { background: #f8f9fa; border-left: 3px solid #0d6efd; padding: 15px; border-radius: 4px; }
        .api-method { font-family: 'Courier New', monospace; color: #0d6efd; }
        @media print { .card, .alert { page-break-inside: avoid; } }
    </style>
</head>
<body class='bg-light'>
    <div class='container py-4'>
        <div class='card shadow-sm mb-4'>
            <div class='card-header bg-dark text-white'>
                <h2 class='mb-0'>API Reference - HTML to PDF Conversion</h2>
            </div>
            <div class='card-body'>
                <h4>RenderHtmlAsPdf() Method</h4>
                <p class='lead'>Converts HTML content to PDF with full CSS3 and JavaScript support.</p>

                <div class='code-block mb-3'>
                    <code class='api-method'>PdfDocument RenderHtmlAsPdf(string htmlContent)</code>
                </div>

                <div class='row mt-4'>
                    <div class='col-md-6'>
                        <h5 class='text-primary'>Parameters</h5>
                        <table class='table table-sm table-bordered'>
                            <tr>
                                <td><code>htmlContent</code></td>
                                <td>String containing HTML to convert</td>
                            </tr>
                        </table>
                    </div>
                    <div class='col-md-6'>
                        <h5 class='text-success'>Returns</h5>
                        <table class='table table-sm table-bordered'>
                            <tr>
                                <td><code>PdfDocument</code></td>
                                <td>Generated PDF document object</td>
                            </tr>
                        </table>
                    </div>
                </div>
            </div>
        </div>

        <div class='row g-3 mb-4'>
            <div class='col-md-4'>
                <div class='alert alert-success mb-0'>
                    <h6 class='alert-heading'>✓ Supported Features</h6>
                    <ul class='mb-0 small'>
                        <li>HTML5 semantic tags</li>
                        <li>CSS3 with Flexbox/Grid</li>
                        <li>JavaScript execution</li>
                        <li>External stylesheets</li>
                    </ul>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='alert alert-info mb-0'>
                    <h6 class='alert-heading'>ⓘ Rendering Engine</h6>
                    <ul class='mb-0 small'>
                        <li>Chrome V8 Engine</li>
                        <li>98% browser fidelity</li>
                        <li>Sub-second rendering</li>
                        <li>Async/await support</li>
                    </ul>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='alert alert-warning mb-0'>
                    <h6 class='alert-heading'>⚠ ExpertPDF Notes</h6>
                    <ul class='mb-0 small'>
                        <li>Complex API structure</li>
                        <li>Limited CSS3 support</li>
                        <li>No native JavaScript</li>
                        <li>Requires configuration</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>Code Example Comparison</h5>
            </div>
            <div class='card-body'>
                <div class='row'>
                    <div class='col-md-6'>
                        <h6 class='text-primary'>IronPDF (Simple)</h6>
                        <div class='code-block'>
                            <pre class='mb-0'><code>var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");</code></pre>
                        </div>
                        <div class='badge bg-success mt-2'>3 Lines</div>
                    </div>
                    <div class='col-md-6'>
                        <h6 class='text-warning'>ExpertPDF (Complex)</h6>
                        <div class='code-block'>
                            <pre class='mb-0'><code>var converter = new HtmlToPdfConverter();
converter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
converter.NavigationTimeout = 60;
byte[] result = converter.GetPdfBytesFromHtmlString(html);
File.WriteAllBytes("output.pdf", result);</code></pre>
                        </div>
                        <div class='badge bg-warning text-dark mt-2'>5+ Lines</div>
                    </div>
                </div>
            </div>
            <div class='card-footer text-muted'>
                <small><strong>Comparison:</strong> IronPDF provides a more intuitive API with less configuration overhead for common use cases.</small>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(technicalDocs);
pdf.SaveAs("technical-documentation.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string technicalDocs = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        .code-block { background: #f8f9fa; border-left: 3px solid #0d6efd; padding: 15px; border-radius: 4px; }
        .api-method { font-family: 'Courier New', monospace; color: #0d6efd; }
        @media print { .card, .alert { page-break-inside: avoid; } }
    </style>
</head>
<body class='bg-light'>
    <div class='container py-4'>
        <div class='card shadow-sm mb-4'>
            <div class='card-header bg-dark text-white'>
                <h2 class='mb-0'>API Reference - HTML to PDF Conversion</h2>
            </div>
            <div class='card-body'>
                <h4>RenderHtmlAsPdf() Method</h4>
                <p class='lead'>Converts HTML content to PDF with full CSS3 and JavaScript support.</p>

                <div class='code-block mb-3'>
                    <code class='api-method'>PdfDocument RenderHtmlAsPdf(string htmlContent)</code>
                </div>

                <div class='row mt-4'>
                    <div class='col-md-6'>
                        <h5 class='text-primary'>Parameters</h5>
                        <table class='table table-sm table-bordered'>
                            <tr>
                                <td><code>htmlContent</code></td>
                                <td>String containing HTML to convert</td>
                            </tr>
                        </table>
                    </div>
                    <div class='col-md-6'>
                        <h5 class='text-success'>Returns</h5>
                        <table class='table table-sm table-bordered'>
                            <tr>
                                <td><code>PdfDocument</code></td>
                                <td>Generated PDF document object</td>
                            </tr>
                        </table>
                    </div>
                </div>
            </div>
        </div>

        <div class='row g-3 mb-4'>
            <div class='col-md-4'>
                <div class='alert alert-success mb-0'>
                    <h6 class='alert-heading'>✓ Supported Features</h6>
                    <ul class='mb-0 small'>
                        <li>HTML5 semantic tags</li>
                        <li>CSS3 with Flexbox/Grid</li>
                        <li>JavaScript execution</li>
                        <li>External stylesheets</li>
                    </ul>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='alert alert-info mb-0'>
                    <h6 class='alert-heading'>ⓘ Rendering Engine</h6>
                    <ul class='mb-0 small'>
                        <li>Chrome V8 Engine</li>
                        <li>98% browser fidelity</li>
                        <li>Sub-second rendering</li>
                        <li>Async/await support</li>
                    </ul>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='alert alert-warning mb-0'>
                    <h6 class='alert-heading'>⚠ ExpertPDF Notes</h6>
                    <ul class='mb-0 small'>
                        <li>Complex API structure</li>
                        <li>Limited CSS3 support</li>
                        <li>No native JavaScript</li>
                        <li>Requires configuration</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>Code Example Comparison</h5>
            </div>
            <div class='card-body'>
                <div class='row'>
                    <div class='col-md-6'>
                        <h6 class='text-primary'>IronPDF (Simple)</h6>
                        <div class='code-block'>
                            <pre class='mb-0'><code>var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");</code></pre>
                        </div>
                        <div class='badge bg-success mt-2'>3 Lines</div>
                    </div>
                    <div class='col-md-6'>
                        <h6 class='text-warning'>ExpertPDF (Complex)</h6>
                        <div class='code-block'>
                            <pre class='mb-0'><code>var converter = new HtmlToPdfConverter();
converter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
converter.NavigationTimeout = 60;
byte[] result = converter.GetPdfBytesFromHtmlString(html);
File.WriteAllBytes("output.pdf", result);</code></pre>
                        </div>
                        <div class='badge bg-warning text-dark mt-2'>5+ Lines</div>
                    </div>
                </div>
            </div>
            <div class='card-footer text-muted'>
                <small><strong>Comparison:</strong> IronPDF provides a more intuitive API with less configuration overhead for common use cases.</small>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(technicalDocs);
pdf.SaveAs("technical-documentation.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie : Une documentation technique professionnelle en PDF avec des cartes Bootstrap 5, alertes, tableaux et blocs de code. IronPDF rend précisément toute la typographie, les utilités de l'espacement, et les mises en page de la grille, démontrant des capacités de génération de documentation supérieure.

Pour des détails complets sur la prise en charge des cadres CSS, voir le Guide CSS Bootstrap & Flexbox.

6. Fusionner plusieurs fichiers PDF en un seul PDF

IronPDF et ExpertPDF offrent tous deux la capacité de fusionner plusieurs fichiers PDF en un seul fichier PDF. Cette fonctionnalité est utile pour consolider des données éparpillées et les envoyer sur Internet de manière plus efficace.

6.1. Fusionner en utilisant IronPDF

Le code suivant rend deux PDF créés à partir de différentes chaînes HTML et les fusionne ensuite en utilisant la méthode Merge. C'est une ligne unique et elle est très facile à utiliser. Plus d'options peuvent être ajoutées aux paramètres PDF lors du rendu.

// Import the IronPdf library
using IronPdf;

// Define HTML strings to convert to PDF
var htmlA = @"<p> [PDF_A] </p>
        <p> [PDF_A] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_A] 2nd Page</p>";

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

// Initialize a new renderer
var renderer = new ChromePdfRenderer();

// Render HTML strings as PDFs
var pdfDocA = renderer.RenderHtmlAsPdf(htmlA);
var pdfDocB = renderer.RenderHtmlAsPdf(htmlB);

// Merge the PDF documents
var mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB);

// Save the merged PDF
mergedPdf.SaveAs("Merged.pdf");
// Import the IronPdf library
using IronPdf;

// Define HTML strings to convert to PDF
var htmlA = @"<p> [PDF_A] </p>
        <p> [PDF_A] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_A] 2nd Page</p>";

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

// Initialize a new renderer
var renderer = new ChromePdfRenderer();

// Render HTML strings as PDFs
var pdfDocA = renderer.RenderHtmlAsPdf(htmlA);
var pdfDocB = renderer.RenderHtmlAsPdf(htmlB);

// Merge the PDF documents
var mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB);

// Save the merged PDF
mergedPdf.SaveAs("Merged.pdf");
' Import the IronPdf library
Imports IronPdf

' Define HTML strings to convert to PDF
Private htmlA = "<p> [PDF_A] </p>
        <p> [PDF_A] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_A] 2nd Page</p>"

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

' Initialize a new renderer
Private renderer = New ChromePdfRenderer()

' Render HTML strings as PDFs
Private pdfDocA = renderer.RenderHtmlAsPdf(htmlA)
Private pdfDocB = renderer.RenderHtmlAsPdf(htmlB)

' Merge the PDF documents
Private mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB)

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

La méthode Merge a également une surcharge qui accepte plusieurs documents sous forme d'objets énumérables. Vous pouvez voir un exemple de son utilisation dans cet exemple de code IronPDF pour fusionner des PDF.

Notez que si les fichiers PDF fusionnés contiennent des formulaires éditables, les champs de formulaire du PDF résultant auront leurs noms ajoutés avec le numéro d'index.

6.2. Fusionner en utilisant ExpertPDF

ExpertPDF utilise un composant de fusion PDF pour accomplir cette tâche. Cela doit être installé à partir du gestionnaire de packages NuGet pour pouvoir l'utiliser. Il y a une méthode AppendPDFFile qui joint un fichier PDF à un objet de classe PDFMerge. Le code pour fusionner les deux PDF créés précédemment par ExpertPDF est le suivant :

// Import the ExpertPdf.MergePdf namespace
using ExpertPdf.MergePdf;

// Initialize a new PDFMerge object
PDFMerge pdfMerge = new PDFMerge();
// Append PDF files to the merge object
pdfMerge.AppendPDFFile("output.pdf");
pdfMerge.AppendPDFFile("html-to-pdf.pdf");
// Save the merged PDF to a file
pdfMerge.SaveMergedPDFToFile("merged.pdf");
// Import the ExpertPdf.MergePdf namespace
using ExpertPdf.MergePdf;

// Initialize a new PDFMerge object
PDFMerge pdfMerge = new PDFMerge();
// Append PDF files to the merge object
pdfMerge.AppendPDFFile("output.pdf");
pdfMerge.AppendPDFFile("html-to-pdf.pdf");
// Save the merged PDF to a file
pdfMerge.SaveMergedPDFToFile("merged.pdf");
' Import the ExpertPdf.MergePdf namespace
Imports ExpertPdf.MergePdf

' Initialize a new PDFMerge object
Private pdfMerge As New PDFMerge()
' Append PDF files to the merge object
pdfMerge.AppendPDFFile("output.pdf")
pdfMerge.AppendPDFFile("html-to-pdf.pdf")
' Save the merged PDF to a file
pdfMerge.SaveMergedPDFToFile("merged.pdf")
$vbLabelText   $csharpLabel

7. Convertir des images en PDF

IronPDF a la capacité de convertir une variété d'images en fichiers PDF, tandis qu'ExpertPDF n'offre pas cette fonctionnalité. Cependant, ExpertPDF peut extraire des images à partir de fichiers PDF, et peut également convertir des fichiers PDF en images, une fonctionnalité qu'IronPDF offre également.

7.1. Images en PDF en utilisant IronPDF

Dans IronPDF, les documents PDF peuvent être facilement créés à partir d'une ou plusieurs images en utilisant la classe ImageToPdfConverter. Vous pouvez charger les images de n'importe quel dossier de votre application.

// Import the IronPdf namespace
using IronPdf;

// Specify the folder containing the image files
var imageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets")
                  .Where(file => file.EndsWith(".jpg") || file.EndsWith(".jpeg"));

// Convert the images to a PDF document
var pdfDocument = ImageToPdfConverter.ImageToPdf(imageFiles);
// Save the PDF document
pdfDocument.SaveAs(@"C:\project\composite.pdf");
// Import the IronPdf namespace
using IronPdf;

// Specify the folder containing the image files
var imageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets")
                  .Where(file => file.EndsWith(".jpg") || file.EndsWith(".jpeg"));

// Convert the images to a PDF document
var pdfDocument = ImageToPdfConverter.ImageToPdf(imageFiles);
// Save the PDF document
pdfDocument.SaveAs(@"C:\project\composite.pdf");
' Import the IronPdf namespace
Imports IronPdf

' Specify the folder containing the image files
Private imageFiles = System.IO.Directory.EnumerateFiles("C:\project\assets").Where(Function(file) file.EndsWith(".jpg") OrElse file.EndsWith(".jpeg"))

' Convert the images to a PDF document
Private pdfDocument = ImageToPdfConverter.ImageToPdf(imageFiles)
' Save the PDF document
pdfDocument.SaveAs("C:\project\composite.pdf")
$vbLabelText   $csharpLabel

En plus de convertir une variété d'images en fichiers PDF, IronPDF peut également convertir des documents scannés, des documents papier et des documents commerciaux en images séparées. Il peut également extraire des images de ces types de fichiers.

8. Licences et tarifs

IronPDF est une bibliothèque PDF C# commerciale complètement ouverte disponible sur le site web IronPDF. Elle est gratuite pour un développement privé et peut être sous licence à tout moment pour des utilisations commerciales. Une variété de licences sont disponibles pour des projets uniques, des développeurs uniques ou multiples, des agences, et des corporations mondiales. Elle prend également en charge la redistribution SaaS et OEM.

<Options de licence IronPDF

Toutes les licences incluent une garantie de remboursement de 30 jours ainsi qu'un an de support et de mises à jour produit. Les licenses sont perpétuelles, signifiant un achat unique sans frais supplémentaires. Le package Lite pour un développeur et un seul projet commence à partir de $799.

ExpertPDF offre des licences par développeur ou par entreprise. Vous pouvez essayer ExpertPDF gratuitement. Vous pouvez consulter la liste des caractéristiques de licence dans la figure ci-dessous.

<Options de licence ExpertPDF

La licence développeur ExpertComponents Toolkit Total commence à partir de 850 $, et l'ExpertPDF Toolkit commence à partir de 750 $. Vous pouvez également acheter des composants individuels. La liste complète des prix pour ExpertPDF est disponible sur le site.

9. Conclusion

IronPDF rend le HTML en PDF localement, ne nécessitant donc pas de connexion Internet. En réalité, il démarre implicitement un objet de navigateur web standard conforme. Le rendu HTML est complètement précis et au format vectoriel, qui est adapté aux normes les plus élevées d'impression commerciale. La sortie est propre, et un PDF de haute qualité est généré. Il peut être sous licence pour un usage commercial, et tous ses tarifs sont listés sur son site sans frais cachés.

La bibliothèque de convertisseur HTML en PDF d'ExpertPDF est un outil polyvalent qui peut convertir des pages web et du code HTML en documents PDF, générer des rapports PDF à partir de pages web ASP.NET, et même signer des contrats avec des signatures électroniques. Il est gratuit à utiliser mais peut également être sous licence pour des fonctionnalités supplémentaires.

Bien que les deux bibliothèques soient capables de travailler avec des fichiers PDF et de convertir à partir de formats populaires, IronPDF a certains avantages sur ExpertPDF. IronPDF offre la conversion depuis une gamme plus large de formats, y compris XML, images, et AngularJS, ainsi que des fonctionnalités plus robustes pour générer, formater et éditer des PDF. IronPDF est une solution qui économise du temps et est recommandée pour les développeurs pragmatiques cherchant l'efficacité.

ExpertPDF est composé de composants séparés qui doivent être installés individuellement, tandis qu'IronPDF est un logiciel complet avec toutes les fonctionnalités en un seul endroit. ExpertPDF peut être un bon choix pour les projets qui nécessitent seulement un composant unique, tel que la conversion HTML en PDF. Les packages d'IronPDF offrent des licences à vie sans coûts récurrents, tandis qu'ExpertPDF nécessite des renouvellements.

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

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. Vous pouvez également convertir des fichiers HTML en PDFs en utilisant RenderHtmlFileAsPdf.

Quelles sont les principales différences entre IronPDF et ExpertPDF ?

IronPDF offre un support de format plus large et une fonctionnalité intégrée, y compris la création de PDF à partir de HTML, l'édition et la conversion de formats. ExpertPDF fournit une conversion directe de HTML en PDF avec des options pour la configuration des fichiers de sortie et les signatures numériques.

Puis-je extraire du texte et des images d'un PDF à l'aide de ces bibliothèques ?

Oui, IronPDF vous permet d'extraire du texte et des images de documents PDF, ce qui facilite la manipulation et l'analyse du contenu PDF dans les applications .NET.

Quelles sont les options d'installation disponibles pour ces bibliothèques PDF ?

IronPDF et ExpertPDF peuvent être installés à l'aide du gestionnaire de packages NuGet de Visual Studio. De plus, la bibliothèque .DLL de IronPDF peut être téléchargée directement depuis le site Web d'IronPDF.

Est-il possible de fusionner plusieurs fichiers PDF en un seul document ?

Oui, IronPDF propose une méthode Fusion pour combiner plusieurs PDF en un. ExpertPDF offre également un composant PDFMerge pour fusionner des PDF.

IronPDF nécessite-t-il une connexion Internet pour la conversion de HTML en PDF ?

Non, IronPDF ne nécessite pas de connexion Internet pour la conversion de HTML en PDF, ce qui en fait une option fiable pour les applications hors ligne.

Quelles sont les options de licence disponibles pour IronPDF ?

IronPDF offre diverses options de licence, y compris des licences pour un seul projet, développeur, agence et entreprise. Toutes les licences sont perpétuelles et incluent une garantie de remboursement de 30 jours et un an de support et de mises à jour.

ExpertPDF peut-il gérer les signatures numériques pour les documents PDF ?

Oui, ExpertPDF prend en charge la signature numérique des documents PDF, permettant des fichiers PDF sécurisés et authentifiés.

Quels défis les développeurs C# rencontrent-ils lorsqu'ils travaillent avec des PDF et comment ces bibliothèques les aident-elles ?

Les développeurs C# font souvent face à des défis lors de la lecture, de l'écriture, de la création et de la conversion de PDF. Des bibliothèques comme IronPDF et ExpertPDF simplifient ces tâches en fournissant de puissants outils pour la conversion de HTML en PDF, l'édition de PDF, et plus, facilitant une intégration facile dans les applications C#.

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