IRONSOFTWAREHOME

HTML vers PDF en C# .NET

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 17 septembre 2026

En tant que développeurs d'IronPDF, nous savons à quel point il est important que la conversion HTML en PDF produise des résultats précis et de haute qualité qui répondent aux attentes des clients. Ce tutoriel C# vous guidera dans la création d'un convertisseur HTML en PDF pour vos applications, projets et sites web. Nous développerons un convertisseur HTML en PDF en C#, et les documents PDF générés par IronPDF seront identiques aux PDF générés par le navigateur web Google Chrome.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Copiez et exécutez cet extrait de code.

    IronPdf.ChromePdfRenderer
           .StaticRenderHtmlAsPdf("<p>Hello World</p>")
           .SaveAs("pixelperfect.pdf");
  3. 3Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit
    arrow pointer

Aperçu


Convertisseur HTML en PDF pour C# & VB.NET

Créer des fichiers PDF par programmation en .NET peut être une tâche frustrante. Le format de fichier de document PDF a été conçu davantage pour les imprimantes que pour les développeurs. Et C# n'a pas beaucoup de bibliothèques ou de fonctionnalités intégrées adaptées à la génération de PDF, de nombreuses bibliothèques nécessitent une configuration supplémentaire et causent encore plus de frustration lorsqu'elles nécessitent plusieurs lignes de code pour accomplir une tâche simple.

L'outil de conversion HTML en PDF C# que nous utiliserons dans ce tutoriel est IronPDF par Iron Software, une bibliothèque de génération et d'édition de PDF C# très populaire. Cette bibliothèque dispose de toutes les fonctionnalités d'édition et de génération de PDF, fonctionne immédiatement, fait exactement ce dont vous avez besoin avec le moins de lignes possible, et dispose d'une documentation exceptionnelle de ses 50+ fonctionnalités. IronPDF se distingue par le fait qu'il prend en charge .NET 10, .NET 9, .NET 8, .NET 7, .NET 6, et .NET 5, .NET Core, .NET Standard, et .NET Framework sur Windows, macOS, Linux, Docker, Azure, et AWS.

Avec C# et IronPDF, la logique pour "générer un document PDF" ou "conversion HTML en PDF" est simple. Grâce au moteur de rendu avancé de Chrome d'IronPDF, la plupart ou la totalité de la conception et de la mise en page du document PDF utiliseront des ressources HTML existantes.

Cette méthode de génération dynamique de PDF en .NET avec HTML5 fonctionne tout aussi bien dans les applications console, les applications Windows Forms, WPF, ainsi que les sites web et MVC.

IronPDF prend également en charge le débogage de votre HTML avec Chrome pour des PDF Pixel Perfect. Un tutoriel pour configurer cela peut être trouvé ici.

IronPDF est disponible dans plusieurs langues, à la fois à l'intérieur et à l'extérieur de l'écosystème .NET.

IronPDF est gratuit pour le développement ; une clé de licence est nécessaire pour déployer en direct et pour supprimer le filigrane d'essai. Vous pouvez acheter une licence ici ou vous inscrire pour une clé d'essai gratuite de 30 jours ici.


Étape 1

Téléchargez et installez la bibliothèque HTML en PDF C#

Visual Studio - Gestionnaire de packages NuGet

Dans Visual Studio, cliquez avec le bouton droit sur votre explorateur de solutions de projet et sélectionnez "Gérer les packages NuGet...". De là, recherchez simplement IronPDF et installez la dernière version dans votre solution... cliquez sur OK pour toutes les boîtes de dialogue qui apparaissent. Cela fonctionnera également tout aussi bien dans les projets VB.NET.

PM > Install-Package IronPdf

IronPDF sur le site NuGet

Pour un aperçu complet des fonctionnalités, de la compatibilité et des téléchargements d'IronPDF, veuillez consulter IronPDF sur le site officiel de NuGet : https://www.nuget.org/packages/IronPdf

Installation via DLL

Une autre option consiste à installer directement le DLL IronPDF. IronPDF peut être téléchargé et installé manuellement dans le projet ou le GAC depuis https://ironpdf.com/packages/IronPdf.zip


Tutoriels pratiques

Créez un PDF avec une chaîne HTML en C# .NET

Comment : Convertir une chaîne HTML en PDF ? C'est une compétence très efficace et gratifiante de créer un nouveau fichier PDF en C#.

Nous pouvons simplement utiliser la méthode ChromePdfRenderer.RenderHtmlAsPdf pour transformer n'importe quelle chaîne HTML (HTML5) en PDF. Le rendu HTML en PDF en C# est effectué par une version entièrement fonctionnelle du moteur Google Chromium qui est livré avec le package NuGet IronPDF.

using IronPdf;

// ChromePdfRenderer turns HTML into a PDF using IronPDF's embedded Chrome engine
var renderer = new ChromePdfRenderer();

// Render an HTML string. The result is a PdfDocument held in memory
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");

// Write the PDF to disk
pdf.SaveAs("pixel-perfect.pdf");

RenderHtmlAsPdf prend entièrement en charge HTML5, CSS3, JavaScript et les images. Si ces ressources sont sur un disque dur, nous pouvons vouloir définir le deuxième paramètre de RenderHtmlAsPdf sur le répertoire contenant les ressources. Cette méthode renvoie un objet PdfDocument, qui est une classe utilisée pour contenir des informations PDF.

IronPDF rendra votre HTML exactement comme il apparaît dans Chrome

Nous avons un tutoriel complet dédié à vous permettre de configurer Chrome pour un débogage HTML complet afin de vous assurer que les modifications que vous voyez lors de l'édition de votre HTML, CSS et JavaScript sont exactement les mêmes que le PDF de sortie d'IronPDF lorsque vous choisissez de rendre. Veuillez trouver le tutoriel ici : Comment déboguer HTML dans Chrome pour créer des PDF Pixel Perfect.

Chemin URL de base (l'argument BaseUrlOrPath) :

using IronPdf;

var renderer = new ChromePdfRenderer();

// The second argument is the base path. Relative URLs in the HTML (the image
// below, but also stylesheets, scripts and fonts) are resolved against it.
var pdf = renderer.RenderHtmlAsPdf("<img src='image1.png'/>", @"C:\MyProject\Assets\");

pdf.SaveAs(@"C:\MyProject\Assets\output.pdf");

Tous les fichiers CSS, images et JavaScript référencés seront relatifs à ce chemin de base et peuvent être conservés dans une structure propre et logique. Vous pouvez également, bien sûr, choisir de référencer des images, des feuilles de style et des ressources en ligne, y compris des polices web telles que Google Fonts et même jQuery.


Exporter un PDF en utilisant une URL existante | URL vers PDF

Le rendu des URL existantes en tant que PDF avec C# est très efficace et intuitif. Cela permet également aux équipes de répartir le travail de conception de PDF et de rendu de PDF en back-end entre plusieurs équipes.

Rendons une page de Wikipedia.com dans l'exemple suivant :

using IronPdf;

var renderer = new ChromePdfRenderer();

// Render a live web page straight from its URL
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");

// The PDF is written next to the executable
pdf.SaveAs("wikipedia.pdf");

Vous remarquerez que les hyperliens et même les formulaires HTML sont préservés dans le PDF généré par notre code C#.

Lors du rendu de pages web existantes, nous avons quelques astuces que nous pouvons souhaiter appliquer :

CSS pour impression et écran

Les types de médias CSS permettent à une page de porter des styles séparés pour l'impression et l'écran. Nous pouvons instruire IronPDF pour rendre le CSS "Print", qui est souvent plus simple. Par défaut, les styles CSS "Screen" seront rendus, ce qui correspond à ce que vous voyez dans le navigateur.

using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Choose which CSS media type the page is rendered with.
// Screen (the default) renders the page as a browser displays it;
// Print applies the page's @media print rules instead.

// renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

Article principal : Comparaison HTML en PDF Pixel Perfect.

JavaScript

IronPDF prend en charge JavaScript, jQuery et même AJAX. Nous pouvons avoir besoin d'instruire IronPDF pour attendre que JS ou ajax ait fini de s'exécuter avant de rendre un instantané de notre page web.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Let the page's JavaScript run before the snapshot is taken
renderer.RenderingOptions.EnableJavaScript = true;

// Give scripts and AJAX calls 500 milliseconds to finish before rendering.
// For event-driven pages, WaitFor.NetworkIdle() or WaitFor.JavaScript() wait
// for a signal instead of a fixed delay.
renderer.RenderingOptions.WaitFor.RenderDelay(500);

Nous pouvons démontrer la prise en charge de JavaScript en rendant la page de documentation du diagramme d'accords d3.js, dont les graphiques sont dessinés par JavaScript lorsque la page se charge :

using IronPdf;

var renderer = new ChromePdfRenderer();

// The chart is drawn by JavaScript, so let it run and give it a moment to finish
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);

// Render the d3.js chord-diagram documentation page, whose charts are drawn by JavaScript
var pdf = renderer.RenderUrlAsPdf("https://d3js.org/d3-chord");

pdf.SaveAs("chart.pdf");

CSS réactif

HTML en PDF en utilisant CSS réactif en .NET ! Les pages web réactives sont conçues pour être vues dans un navigateur. IronPDF n'ouvre pas une vraie fenêtre de navigateur dans le système d'exploitation de votre serveur. Sans une fenêtre de navigateur, les mises en page réactives peuvent revenir à leur point de rupture le plus étroit.

Nous recommandons d'utiliser les types de médias CSS Print pour naviguer dans ce problème. Le CSS pour impression ne devrait normalement pas être réactif.

using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Responsive layouts are designed for a browser viewport, so render the page's
// print stylesheet instead of its screen stylesheet
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

Générer un PDF à partir d'une page HTML

Nous pouvons également rendre n'importe quelle page HTML en PDF sur notre disque dur. Toutes les ressources relatives telles que CSS, images et js seront rendues comme si le fichier avait été ouvert en utilisant le protocole file://.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Render an HTML file from disk. Relative CSS, image and script paths
// resolve against the file's own folder, as if opened with file://
var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");

pdf.SaveAs("Invoice.pdf");

Cette méthode a l'avantage de permettre au développeur de tester le contenu HTML dans un navigateur pendant le développement. Nous recommandons Chrome car c'est le navigateur web sur lequel le moteur de rendu d'IronPDF est basé.

Pour convertir XML en PDF, vous pouvez utiliser le modèle XSLT pour imprimer votre contenu XML en PDF.


Ajouter des en-têtes et pieds de page personnalisés

Les en-têtes et pieds de page peuvent être ajoutés aux PDF lorsqu'ils sont rendus, ou à des fichiers PDF existants en utilisant IronPDF.

Avec IronPDF, les en-têtes et pieds de page peuvent contenir du contenu textuel simple en utilisant la classe TextHeaderFooter - ou avec des images et du contenu HTML riche en utilisant la classe HtmlHeaderFooter.

using IronPdf;
using IronPdf.Rendering;

// Create a PDF from an existing HTML file with rendering options set up front
var renderer = new ChromePdfRenderer
{
    RenderingOptions = new ChromePdfRenderOptions
    {
        // Margins are in millimeters
        MarginTop = 50,
        MarginBottom = 50,

        // Render the page's print stylesheet
        CssMediaType = PdfCssMediaType.Print,

        // Plain-text header: the document title, centered, above a divider line
        TextHeader = new TextHeaderFooter
        {
            CenterText = "{pdf-title}",
            DrawDividerLine = true,
            FontSize = 16
        },

        // Plain-text footer: date and time on the left, page numbers on the right
        TextFooter = new TextHeaderFooter
        {
            LeftText = "{date} {time}",
            RightText = "Page {page} of {total-pages}",
            DrawDividerLine = true,
            FontSize = 14
        }
    }
};

var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");

pdf.SaveAs("Invoice.pdf");

// Open the result in the default PDF viewer
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo
{
    FileName = "Invoice.pdf",
    UseShellExecute = true
});

Explorez toutes les options de rendu dans l'article pratique suivant : Comment utiliser les options de rendu.

En-têtes et pieds de page HTML

La classe HtmlHeaderFooter permet de générer des en-têtes et pieds de page riches en utilisant du contenu HTML5 qui peut même inclure des images et des feuilles de style.

using IronPdf;

var renderer = new ChromePdfRenderer();

// An HTML footer can carry markup, styles and images.
// {page} and {total-pages} are filled in for every page.
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"
};

Données dynamiques dans les en-têtes et pieds de page PDF

Nous pouvons "fusionner" du contenu dans le texte et même le HTML des en-têtes et pieds de page en utilisant des espaces réservés tels que :

  • {page} pour le numéro de page actuel
  • {total-pages} pour le nombre total de pages dans le PDF
  • {url} pour l'URL du PDF rendu si rendu à partir d'une page web
  • {date} pour la date d'aujourd'hui
  • {time} pour l'heure actuelle
  • {html-title} pour le <title> du document HTML rendu
  • {pdf-title} pour le titre du document, qui peut être défini via ChromePdfRenderOptions

Paramètres de conversion HTML en PDF C#

Il existe de nombreuses nuances sur la façon dont nos utilisateurs et clients peuvent s'attendre à ce que le contenu PDF soit rendu.
La classe ChromePdfRenderer contient une propriété RenderingOptions qui peut être utilisée pour définir ces options.

Par exemple, nous pouvons souhaiter choisir d'accepter uniquement les directives CSS3 de style "print" :

using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Render the page's @media print CSS rather than its screen styles
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

renderer.RenderHtmlAsPdf("<html><body><h1>Hello, World!</h1></body></html>").SaveAs("Output.pdf");

Nous pouvons également souhaiter modifier la taille de nos marges d'impression pour créer plus d'espace blanc sur la page, pour faire de la place pour de grands en-têtes ou pieds de page, ou même définir des marges nulles pour l'impression commerciale de brochures ou d'affiches :

using IronPdf;

var renderer = new ChromePdfRenderer();

// Page margins in millimeters. Larger margins leave room for headers and
// footers; set them to 0 for edge-to-edge brochures and posters.
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

Nous pouvons souhaiter activer ou désactiver les images d'arrière-plan des éléments HTML :

using IronPdf;

var renderer = new ChromePdfRenderer();

// Include CSS background colors and images in the PDF (set false to drop them)
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

var pdf = renderer.RenderHtmlAsPdf("<h1 style='background:#eee'>Hello, PDF!</h1>");

pdf.SaveAs("output.pdf");

Il est également possible de définir nos PDF de sortie pour être rendus sur n'importe quelle taille de papier virtuelle - y compris les tailles portrait et paysage et même des tailles personnalisées qui peuvent être définies en millimètres ou en pouces.

using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Standard paper sizes and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;

// Or a custom size, in millimeters or inches
// renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(210, 297);
// renderer.RenderingOptions.SetCustomPaperSizeInInches(8.5, 11);

Explorez toutes les options de rendu dans l'article pratique suivant : "Comment utiliser les options de rendu."


Ma bibliothèque préférée de ce genre est IronPDF. Elle permet une manipulation rapide et efficace des fichiers PDF. Elle dispose également de nombreuses fonctionnalités précieuses, comme l'exportation au format PDF/A et la signature numérique des documents PDF.

Milan Jovanovic

Microsoft MVP

Voir l'étude de cas

IronOCR signifie que nous pouvons économiser 40 000 $ par an grâce au traitement manuel, tout en améliorant la productivité et en libérant des ressources pour des tâches à fort impact. Je le recommande vivement.

Brent Matzelle

Directeur technique, OPYN

Voir l'étude de cas

Iron Suite joue un rôle crucial dans nos opérations. Ce sont des outils qui augmentent l'efficacité de l'entreprise, y compris la création de plans d'étage et l'amélioration de la gestion des stocks.

David Jones

Ingénieur logiciel principal, Agorus Build

Voir l'étude de cas

Appliquer le modèle HTML

Modéliser ou "créer en lot" des PDF est une exigence courante pour les développeurs Internet et de sites web.

Plutôt que de modéliser un document PDF lui-même, avec IronPDF, nous pouvons modéliser notre HTML en utilisant des technologies existantes et bien éprouvées. Lorsque le modèle HTML est combiné avec des données provenant d'une chaîne de requête ou d'une base de données, nous obtenons un document PDF généré dynamiquement.

Dans le cas le plus simple, l'utilisation de la méthode C# String.Format est efficace pour un exemple de base.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Insert a value into an HTML template with string.Format
string html = string.Format("<h1>Hello {0}!</h1>", "World");

var pdf = renderer.RenderHtmlAsPdf(html);

pdf.SaveAs("Hello.pdf");

Si le fichier HTML est plus long, nous pouvons souvent utiliser des espaces réservés arbitraires tels que [[NAME]] et les remplacer par des données réelles plus tard.

L'exemple suivant créera 3 PDF, chacun personnalisé pour un utilisateur.

using IronPdf;

var renderer = new ChromePdfRenderer();

// A template with a placeholder to replace
var htmlTemplate = "<p>[[NAME]]</p>";

var names = new[] { "John", "James", "Jenny" };

// One personalized PDF per name
foreach (var name in names)
{
    var htmlInstance = htmlTemplate.Replace("[[NAME]]", name);

    var pdf = renderer.RenderHtmlAsPdf(htmlInstance);

    pdf.SaveAs(name + ".pdf");
}

Modélisation avancée avec Handlebars.NET

Une méthode sophistiquée pour fusionner des données C# avec du HTML pour la génération de PDF est d'utiliser le langage de modélisation Handlebars.

Handlebars permet de créer du HTML dynamique à partir d'objets et d'instances de classe C# y compris des enregistrements de base de données. Handlebars est particulièrement efficace lorsqu'une requête peut renvoyer un nombre inconnu de lignes, comme dans la génération d'une facture.

Nous devons d'abord ajouter un package NuGet supplémentaire à notre projet : https://www.nuget.org/packages/Handlebars.NET/

using HandlebarsDotNet;

// A Handlebars template with two placeholders
var source =
    @"<div class=""entry"">
        <h1>{{title}}</h1>
        <div class=""body"">
            {{body}}
        </div>
    </div>";

// Compile it once, then fill it with any object that has matching properties
var template = Handlebars.Compile(source);

var data = new { title = "My new post", body = "This is my first post!" };

string html = template(data);

// html now contains:
//
// <div class="entry">
//   <h1>My new post</h1>
//   <div class="body">
//     This is my first post!
//   </div>
// </div>

Pour rendre ce HTML, nous pouvons simplement utiliser la méthode RenderHtmlAsPdf.

using HandlebarsDotNet;
using IronPdf;

// Fill the Handlebars template, then render the resulting HTML
var template = Handlebars.Compile("<h1>{{title}}</h1><p>{{body}}</p>");
string html = template(new { title = "My new post", body = "This is my first post!" });

var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderHtmlAsPdf(html);

pdf.SaveAs("Handlebars.pdf");

Vous pouvez en savoir plus sur le langage de modélisation Handlebars et son implémentation en C# sur GitHub.

Ajouter des sauts de page en utilisant HTML5

Une exigence courante dans un document PDF est la pagination. Les développeurs ont besoin de contrôler où les pages PDF commencent et se terminent pour une mise en page propre et lisible.

La façon la plus simple de le faire est avec un truc CSS peu connu qui rendra un saut de page dans n'importe quel document HTML imprimé.

<div style='page-break-after: always;'>&nbsp;</div>
HTML

Le HTML fourni fonctionne, mais n'est guère une bonne pratique. Nous conseillons d'ajuster l'attribut media comme dans l'exemple suivant. Une manière si propre et ordonnée de disposer du contenu HTML multi-pages. Parce qu'IronPDF rend avec le type de média screen par défaut, une feuille de style media="print" n'est appliquée que lorsque RenderingOptions.CssMediaType est défini sur PdfCssMediaType.Print (voir Paramètres de conversion ci-dessus).

<!DOCTYPE html>
<html>
  <head>
    <style type="text/css" media="print">
      .page {
        page-break-after: always;
        page-break-inside: avoid;
      }
    </style>
  </head>
  <body>
    <div class="page">
      <h1>This is Page 1</h1>
    </div>
    <div class="page">
      <h1>This is Page 2</h1>
    </div>
    <div class="page">
      <h1>This is Page 3</h1>
    </div>
  </body>
</html>
HTML

Le guide pratique décrit plus de conseils et astuces avec les sauts de page.


Joindre une page de couverture à un PDF

IronPDF facilite la fusion de documents PDF. L'utilisation la plus courante de cette technique est d'ajouter une page de couverture ou une page de fin à un document PDF rendu existant.

Pour ce faire, nous rendons d'abord une page de couverture, puis utilisons la méthode statique PdfDocument.Merge() pour combiner les deux documents.

using IronPdf;

var renderer = new ChromePdfRenderer();

// The document body, rendered from a web page
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");

// Prepend an existing PDF as the cover page. Merge returns a new document.
var cover = PdfDocument.FromFile("CoverPage.pdf");
var pdfMerged = PdfDocument.Merge(cover, pdf);

pdfMerged.SaveAs("Combined.pdf");

Un exemple de code complet peut être trouvé ici : Exemple de code de page de couverture PDF.


Ajouter un filigrane

Une dernière fonctionnalité C# PDF qu'IronPDF prend en charge est d'ajouter un filigrane aux documents. Cela peut être utilisé pour ajouter un avis à chaque page indiquant qu'un document est "confidentiel" ou un "échantillon".

using IronPdf;
using IronPdf.Editing;

var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

// Stamp every page with a red "SAMPLE" in the middle, rotated 30 degrees at 50% opacity.
// The watermark is HTML, so any markup, styling or image can be used.
pdf.ApplyWatermark(
    "<h2 style='color:red; font-size:50px'>SAMPLE</h2>",
    rotation: 30,
    opacity: 50,
    verticalAlignment: VerticalAlignment.Middle,
    horizontalAlignment: HorizontalAlignment.Center);

pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");

Un exemple de code complet peut être trouvé ici : Exemple de code de filigrane PDF.


Télécharger le code source C#

Le code source complet gratuit du convertisseur HTML en PDF C# pour ce tutoriel est disponible en téléchargement sous forme de fichier projet Visual Studio 2022 zippé. Il utilisera son moteur de rendu pour générer des objets de document PDF en C#.

Téléchargez ce tutoriel en tant que projet Visual Studio

Le téléchargement gratuit contient tout ce dont vous avez besoin pour créer un PDF à partir de HTML - y compris des exemples de code PDF C# fonctionnels pour :

  1. Convertir une chaîne HTML en PDF en utilisant C#
  2. Fichier HTML en PDF en C# (prenant en charge CSS, JavaScript et images)
  3. HTML en PDF en C# en utilisant une URL ("URL en PDF")
  4. Exemples d'édition et de paramètres PDF en C#
  5. Rendu de graphiques de canvas JavaScript tels que d3.js en PDF
  6. La bibliothèque PDF pour C#

Référence de classe

Les développeurs peuvent également être intéressés par la référence de classe IronPdf.PdfDocument :

https://ironpdf.com/object-reference/api/IronPdf.PdfDocument.html

Ce modèle d'objet montre comment les documents PDF peuvent être :

  • Cryptés et protégés par mot de passe
  • Édités ou 'tamponnés' avec du nouveau contenu HTML
  • Améliorés avec des images de premier plan et d'arrière-plan
  • Fusionnés, joints, tronqués et épissés au niveau de la page ou du document
  • Analysés pour extraire du texte brut et des images, ou traités par OCR avec le package IronOCR

Blazor HTML en PDF

Ajouter une fonctionnalité HTML en PDF à votre serveur Blazor est facile, il suffit de :

  1. Créer un nouveau projet de serveur Blazor ou utiliser un existant
  2. Ajouter la bibliothèque IronPDF à votre projet en utilisant NuGet
  3. Ajouter un nouveau composant Razor ou utiliser un existant
  4. Ajouter un InputTextArea et le lier à IronPDF
  5. Laisser IronPDF s'occuper du reste et déployer

Pour en savoir plus, continuez avec le guide complet étape par étape pour convertir HTML en PDF dans les applications Blazor.

PDF généré à partir d'une page de serveur Blazor avec IronPDF

Comparer avec d'autres bibliothèques PDF

IronPDF est une bibliothèque PDF puissante et complète conçue pour les développeurs .NET modernes. Avec une conversion HTML en PDF native alimentée par un moteur Chromium avancé, une API intuitive et des mises à jour régulières, elle simplifie le développement tout en garantissant des résultats de haute qualité. Examinons de plus près comment elle se compare à d'autres outils :

PDFSharp

  • Fonctionnalités principales : PDFsharp est une bibliothèque open-source (MIT) pour créer et éditer des documents PDF en code géré. Elle n'a pas de moteur de rendu HTML, donc convertir du contenu web en PDF nécessite un moteur tiers séparé.
  • Normes modernes : IronPDF exploite les technologies web modernes, y compris HTML, CSS et JavaScript, grâce à son moteur basé sur Chromium, garantissant que les PDF conservent un aspect et une convivialité contemporains.
  • Support et mises à jour : PDFsharp est open source et publie une version tous les quelques mois, avec un support commercial vendu séparément par son mainteneur. IronPDF publie des mises à jour mensuelles et des correctifs de sécurité, et chaque licence inclut un support technique professionnel, ce qui est important pour les applications d'entreprise.

wkhtmltopdf

  • Facilité d'intégration : wkhtmltopdf est un outil en ligne de commande avec une bibliothèque C ; il n'y a pas de package .NET officiel, donc l'utiliser depuis .NET signifie lancer le binaire natif (ou l'appeler via un wrapper tiers tel que DinkToPdf) et expédier ce binaire pour chaque plateforme sur laquelle vous déployez.
  • Technologie de rendu : wkhtmltopdf rend avec QtWebKit, un fork de WebKit que Qt a déprécié en 2015 et abandonné dans Qt 5.6, donc les fonctionnalités modernes de JavaScript et CSS ne sont pas prises en charge, surtout sur les sites web dynamiques et riches en contenu. Le moteur Chromium d'IronPDF rend les normes web actuelles.
  • Développement continu : la dernière version de wkhtmltopdf était 0.12.6 en juin 2020 et son dépôt GitHub a été archivé en janvier 2023, donc il n'y a pas de support du fournisseur. IronPDF continue d'évoluer avec des mises à jour mensuelles et un service client dédié.

iTextSharp

  • Rendu HTML en PDF : iText convertit HTML via son add-on pdfHTML séparé, un moteur de mise en page CSS plutôt qu'un navigateur, et la ligne iTextSharp 5 héritée ne reçoit maintenant que des correctifs de sécurité. IronPDF rend HTML avec un moteur Chromium intégré dans le package principal, sans add-on requis.
  • Expérience développeur : l'API d'iText fonctionne au niveau des objets PDF et des éléments de mise en page, ce qui est puissant mais signifie plus de code pour les tâches quotidiennes. IronPDF offre une API C# propre et intuitive, simplifiant le codage et accélérant la livraison des projets.
  • Maintenance et support : l'utilisation gratuite d'iText est sous l'AGPL, avec le support du fournisseur réservé aux licences commerciales, et iTextSharp 5.x est en fin de vie à part les correctifs de sécurité. IronPDF inclut un support professionnel et des mises à jour mensuelles avec chaque licence.

Aspose.PDF

  • Qualité de conversion : Aspose.PDF convertit HTML avec son propre moteur de mise en page plutôt qu'un navigateur. Sa documentation convertit une page web en récupérant d'abord le HTML avec HttpClient dans un flux et en le passant à Document avec HtmlLoadOptions, plutôt que de rendre directement à partir d'une URL. Dans notre test r/nfl ci-dessous, la sortie était presque vide : le logo de la communauté, un titre et quelques cases vides. Le moteur Chromium d'IronPDF rend directement une URL, JavaScript inclus.
  • Utilisabilité de l'API : l'API d'Aspose.PDF peut être verbeuse, tandis qu'IronPDF se concentre sur une expérience conviviale pour les développeurs qui minimise le temps de configuration et améliore la productivité.
  • Fidélité de sortie : Parce qu'IronPDF rend avec Chromium, le PDF correspond à ce que Chrome montre pour le même HTML, ce qui rend la conception et le débogage prévisibles pour la génération de PDF à haut volume.

Syncfusion PDF

  • Complexité de l'API : Syncfusion PDF est une bibliothèque capable avec une surface d'API plus large à apprendre. IronPDF, en revanche, fournit une API simple pour une intégration rapide.
  • Moteur de rendu : Le convertisseur HTML de Syncfusion utilise maintenant le moteur Chromium Blink ; ses anciens moteurs WebKit et Internet Explorer ont été marqués obsolètes dans Essential Studio 2022 Volume 3. Dans notre test r/nfl ci-dessous, la sortie de Syncfusion a conservé le flux principal mais a supprimé les panneaux de navigation et de communauté, tandis que le moteur Chromium d'IronPDF a rendu toute la page.
  • Au-delà de la conversion : Le package d'IronPDF couvre également les signatures numériques, les annotations, le remplissage de formulaires et le tamponnage de codes-barres, donc la même bibliothèque gère le reste du flux de travail du document.

Comparaison de rendu

Pour comparer la qualité de conversion HTML en PDF de ces bibliothèques, nous avons utilisé une page de communauté Reddit, r/nfl, qui contient du contenu dynamique, des mises à jour en direct, du CSS moderne et des éléments basés sur JavaScript :

https://www.reddit.com/r/nfl/

Capture d'écran de la page Reddit r/nfl telle qu'affichée dans Chrome

Voici les résultats d'une seule exécution avec les paramètres par défaut de chaque bibliothèque. Syncfusion et Aspose.PDF ont été exécutés en tant que versions d'évaluation, c'est pourquoi leur sortie porte des filigranes d'évaluation (cliquez sur chaque image pour l'agrandir) :

IronPDF

Sortie de la conversion IronPDF de la page Reddit r/nfl de HTML en PDFPDF bien formaté et visuellement précis, préservant le contenu dynamique et le style moderne.

SyncFusion

Sortie de la conversion Syncfusion de la page Reddit r/nfl de HTML en PDFConverti avec une version d'évaluation. Le flux principal, le contenu des publications et le style sont passés dans une mise en page étroite à une seule colonne, mais la navigation à gauche et le panneau communautaire à droite ont été supprimés.

Aspose.PDF

Sortie de la conversion Aspose.PDF de la page Reddit r/nfl de HTML en PDFVersion d'évaluation ; nécessitait de télécharger d'abord le HTML (Aspose.PDF charge le HTML à partir d'un flux plutôt qu'une URL). La sortie était presque vide : le logo de la communauté, un titre et quelques cases vides.

Wkhtmltopdf

Sortie de la conversion wkhtmltopdf de la page Reddit r/nfl de HTML en PDFwkhtmltopdf a terminé la conversion, mais le résultat est le texte et les images de la page sans aucune de sa mise en page, de son style, de ses éléments dynamiques ou de son interactivité. Cela rend wkhtmltopdf inadapté aux pages web modernes et dynamiques.
Veuillez noter: PDFsharp n'a pas de moteur de rendu HTML, et iText convertit HTML uniquement via son add-on pdfHTML séparé, donc aucun n'a été inclus dans ce test de rendu de navigateur.

Conclusion

Pour les développeurs .NET à la recherche d'une solution PDF moderne et fiable, IronPDF est un choix solide. Sa conversion HTML en PDF basée sur Chromium, sa facilité d'utilisation, ses mises à jour régulières et son large ensemble de fonctionnalités en font un choix de premier plan. Que vous travailliez sur un petit projet ou une application d'entreprise à grande échelle, IronPDF améliore la productivité tout en évitant les risques associés aux bibliothèques obsolètes ou non prises en charge. Conçu pour les applications commerciales, IronPDF maintient vos projets sur une bibliothèque maintenue et prise en charge.

Dans notre test avec une page web dynamique du monde réel, IronPDF a produit le rendu le plus complet et précis. Syncfusion a supprimé les panneaux de navigation et de communauté. Aspose.PDF nécessitait de télécharger d'abord le HTML et a quand même rendu presque aucune partie de la page. wkhtmltopdf a produit le texte et les images sans le style de la page, un mauvais choix pour les sites modernes.

Pour les flux de travail modernes HTML en PDF, cette combinaison de précision de rendu et d'une petite API lisible est ce qui distingue IronPDF.

Découvrez la suite complète de fonctionnalités d'IronPDF qui convertit facilement le HTML dynamique et lourd en CSS en PDF. Testez-le maintenant avec notre essai gratuit.


Regardez la vidéo tutorielle HTML en PDF en C#

Avec le document PDF, vous pouvez visiter le lien suivant pour apprendre comment configurer Chrome pour ouvrir les PDF dans le navigateur au lieu de les télécharger.

Première étape :
arrow pointer

Questions Fréquemment Posées

Comment convertir HTML en PDF en utilisant IronPDF en C# ?

Pour convertir HTML en PDF en utilisant IronPDF, vous devez initialiser le ChromePdfRenderer, rendre le contenu HTML en tant que PDF en utilisant la méthode RenderHtmlAsPdf, puis enregistrer le PDF dans un fichier.

Quelles sont les exigences système pour IronPDF ?

IronPDF prend en charge .NET 10, .NET 9, .NET 8, .NET 7, .NET 6, .NET 5, .NET Core, .NET Standard et .NET Framework sur Windows, macOS, Linux, Docker, Azure et AWS.

Puis-je utiliser IronPDF avec d'autres langages de programmation ?

Oui, IronPDF peut être utilisé avec plusieurs langages à la fois à l'intérieur et à l'extérieur de l'écosystème .NET, y compris F#, VB.NET, Python, Java et Node.js.

Comment puis-je ajouter des en-têtes et pieds de page personnalisés à un PDF en utilisant IronPDF ?

Avec IronPDF, vous pouvez ajouter des en-têtes et pieds de page en utilisant la classe TextHeaderFooter pour le contenu basé sur du texte ou la classe HtmlHeaderFooter pour le contenu HTML enrichi.

Est-il possible de rendre un PDF à partir d'une URL existante avec IronPDF ?

Oui, vous pouvez rendre un PDF à partir d'une URL existante en utilisant la méthode RenderUrlAsPdf dans IronPDF.

IronPDF prend-il en charge le rendu avancé de CSS et JavaScript ?

Oui, IronPDF prend en charge CSS3 et JavaScript avancés, y compris jQuery et AJAX, offrant un rendu précis des conceptions web modernes.

Puis-je appliquer un modèle HTML pour la création de PDF en lot dans IronPDF ?

Oui, vous pouvez utiliser des techniques de modélisation C#, y compris String.Format et Handlebars.NET, pour générer dynamiquement des PDFs avec IronPDF.

Comment IronPDF se compare-t-il avec d'autres bibliothèques PDF ?

IronPDF rend HTML avec un moteur Chromium intégré, propose des mises à jour mensuelles et dispose d'une API C# compacte. Le tutoriel le compare avec PdfSharp, wkhtmltopdf, iTextSharp, Aspose.PDF et Syncfusion PDF, y compris un test de rendu côte à côte d'une page web dynamique.

Puis-je ajouter des filigranes aux PDFs avec IronPDF ?

Oui, IronPDF vous permet d'ajouter des filigranes de texte ou d'image à vos documents PDF.

Existe-t-il une version d'essai disponible pour IronPDF ?

Oui, vous pouvez vous inscrire pour une clé d'essai gratuite de 30 jours pour tester les fonctionnalités d'IronPDF avant d'acheter une licence.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.

...
Lire la suite

Prêt à commencer ?

Nuget Downloads 21,105,021Version :2026.9vient de sortir

Obtenez votre GRATUIT

Clé d'essai de 30 jours instantanément.

bullet_checkedAucune carte de crédit ou création de compte requise
bullet_testTester en production
sans filigranes
bullet_calendarProduit entièrement fonctionnel
pendant 30 jours
bullet_supportSupport technique 24/5
pendant l'essai
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

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

Version : 2026.9

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

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

Licences à partir de 749 $

Vous avez une question ? Contactez notre équipe de développement.

Key in blue circle

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

Your trial license will be sent to your email address

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

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

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

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

Version : 2026.9

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

Version : 2026.9

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

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

Licences à partir de 749 $