IRONSOFTWAREHOME

Comment convertir HTML en PDF en C# (Guide du développeur)

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

Convertir du HTML en PDF en C# semble simple jusqu'à ce que de vrais projets atteignent les limites de rendu, de déploiement et de mise à l'échelle. Ce guide montre comment le faire de manière fiable avec le moteur basé sur Chrome de IronPDF, en commençant par un code fonctionnel que vous pouvez exécuter en moins d'une minute. Si vous choisissez encore un outil, comparez d'abord toutes les bibliothèques C# HTML to PDF.

TL;DR : Guide de démarrage rapide pour convertir du HTML en PDF

Vous pouvez facilement convertir du HTML en PDF en C# en utilisant la bibliothèque IronPDF, qui fournit la méthode ChromePdfRenderer.RenderHtmlAsPdf pour créer des fichiers PDF de haute qualité à partir de HTML, CSS et JavaScript.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

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

    new IronPdf.ChromePdfRenderer()
        .RenderHtmlAsPdf("<p>Hello World</p>")
        .SaveAs("pixelperfect.pdf");
    C#
  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

Après avoir acheté ou vous être inscrit pour un essai de 30 jours d'IronPDF, trouvez la clé de licence envoyée à votre email. Ajoutez votre clé de licence au début de votre application.

IronPdf.License.LicenseKey = "KEY";

Tout le code de ce guide a été vérifié sur IronPDF v2026.6.1 · .NET 10 · Juin 2026.

Pourquoi les développeurs .NET ont besoin d'un convertisseur HTML vers PDF pour C#

IronPDF utilise un moteur de rendu Google Chromium intégré pour garantir des conversions fidèles, préservant avec précision la mise en page et le style de votre contenu web.

Moteur de rendu Chrome robuste : utilise le moteur Blink de Chrome pour une conversion HTML en PDF précise.

Précision pixel par pixel : les PDF générés correspondent exactement au web, pas à une version adaptée à l'impression.

Support complet des technologies web modernes : prise en charge complète de CSS3, HTML5 et JavaScript pour tous les éléments HTML.

Boost de performance de 5 à 20x : considérablement plus rapide que l'automatisation des navigateurs ou les pilotes web.

Conformité PDF/UA : génération de PDF accessible qui respecte les normes de la Section 508.

Pas de dépendances externes : aucun exécutable à installer sur les serveurs.

✅ Designed for C#, F#, and VB.NET on .NET 10, 9, 8, 7, 6, Core, Standard, and Framework.

Veuillez noter: Dernières nouveautés dans v2026.6.1 (Juin 2026) : signets PDF automatiques générés à partir des titres HTML lors du rendu, linéarisation complète des PDF en mémoire pour les environnements cloud et isolés, signatures numériques ECDSA avec inspection du certificat du signataire, annotations de lien cliquables, et images Linux et Docker plus fines et renforcées. Consultez le journal des modifications complet pour l'historique complet des versions.

IronPDF simplifie le processus pour les développeurs .NET en offrant une solution simple et efficace pour générer des documents PDF d'aspect professionnel à partir du HTML de votre application web. Des factures et rapports aux certificats et archives, les développeurs peuvent travailler avec leur pile web familière tandis qu'IronPDF gère le complexe en quelques lignes de code.

LIÉ : Changelog d'IronPDF : Mises à jour, jalons, feuille de route

Ce que vous apprendrez
  1. Comment convertir HTML en PDF C#

  2. Comment configurer les paramètres HTML en PDF

  3. Comment utiliser les fonctions avancées de génération et de sécurité des PDF

  4. Comment déployer du HTML en PDF sur des plateformes cloud

  5. Comparer IronPDF avec d'autres bibliothèques PDF .NET

  6. Dépannage & Support technique

Choisissez votre chemin de HTML à PDF selon le cas d'utilisation

Vous ne savez pas par où commencer ? Accédez directement au chemin qui correspond à ce que vous construisez :

Ce que vous construisezCommencez ici
Conversion d'une chaîne HTML ponctuelleHTML String to PDF
Archivage d'une URL ou d'une page web en directURL to PDF
Construction d'une application Razor Pages ou MVCRazor / MVC to PDF
Génération en lot ou à haut volume côté serveurGénération asynchrone et par lots

1. How to Convert HTML to PDF C#

Que vous travailliez avec des chaînes HTML, des URL ou des fichiers HTML, IronPDF offre des options flexibles pour générer des documents PDF de haute qualité qui répondent à vos besoins spécifiques.

Dans ce tutoriel, nous vous guiderons à travers les scénarios les plus courants, y compris la conversion d'une chaîne HTML en PDF, d'une URL en PDF et d'un fichier HTML en PDF. De plus, IronPDF offre également une variété d'opérations pour manipuler des documents PDF :

Comment convertir une chaîne HTML en PDF

L'opération la plus fondamentale est la conversion de chaîne HTML en PDF. Cette méthode est parfaite pour le contenu HTML généré dynamiquement. La méthode RenderHtmlAsPdf prend en charge intégralement HTML5, CSS3, JavaScript, et les images lors de la conversion directe de HTML en PDF.

using IronPdf;

// Create the Chrome renderer
var renderer = new ChromePdfRenderer();

// Convert HTML string to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");

// Save the PDF
pdf.SaveAs("output.pdf");

Verified on IronPDF v2026.6.1 · .NET 10 · June 2026.

Sortie

Exécutez l'extrait ci-dessus et IronPDF renvoie un PDF d'une page contenant exactement le titre que vous avez transmis, le rendu le plus simple possible :

Performance

Les performances de la conversion vers le format PDF d'IronPDF à partir de chaînes de caractères, d'URL et de code HTML ont été mesurées à l'aide d'un ordinateur portable Lenovo doté de 16 Go de RAM. Le document de test est une facture Enterprise de 3 pages comportant une grille CSS standard, des dégradés et des tableaux à plusieurs sections.

Voici les résultats :

MétriqueValeur
Temps de rendu moyen~486 ms
Mémoire par rendu~3,6 Mo

Mesuré sur 5 rendus successifs sur une station de travail à 16 cœurs (Windows 11, .NET 8). Le premier appel inclut également une initialisation unique du moteur Chromium (~1,3 s)

La première fois que j'ai effectué le test, le temps de rendu était très lent (plus d'une seconde par appel !). Après avoir examiné la situation, je me suis rendu compte que plusieurs instances de Chromium étaient ouvertes et que l'ordinateur fonctionnait sur batterie, deux facteurs qui empêchaient la bibliothèque de montrer sa véritable vitesse. Une fois que j'ai fermé les processus concurrents et branché l'appareil, les performances se sont améliorées : les exécutions à chaud ont affiché une moyenne d'environ 486 ms, avec un temps le plus rapide avoisinant les 473 ms.

Conseils: Les mises à jour récentes corrigent les problèmes avec les caractères spéciaux/émojis dans les métadonnées HTML et garantissent une meilleure gestion des champs de formulaire html, y compris les caractères chinois sur Linux. Testez le contenu dynamique avec EnableJavaScript = true pour des résultats optimaux.

Lorsque votre chaîne HTML fait référence à des ressources locales comme des images ou des feuilles de style, utilisez le paramètre baseUrlOrPath pour convertir correctement le contenu HTML avec toutes les ressources :

using IronPdf;

var renderer = new ChromePdfRenderer();

// Convert HTML content with local image and CSS references
string html = @"
    <link rel='stylesheet' href='styles.css'>
    <img src='logo.png' alt='Company Logo'>
    <h1>Company Report</h1>
    <p>Annual report content...</p>";

// Set base path for resolving relative URLs in HTML to PDF conversion
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\MyProject\Assets\");
pdf.SaveAs("report.pdf");
Conseils: baseUrlOrPath indique à IronPDF où trouver vos fichiers CSS, JavaScript et d'image. Tous les chemins relatifs dans votre chaîne HTML seront résolus depuis ce répertoire.
Avertissement: Un point à surveiller, et qui explique pourquoi il est important de tester le résultat quel que soit la bibliothèque utilisée pour la génération automatisée de documents, est que le document Enterprise peut comporter des éléments endommagés ou des ressources manquantes lorsque les références reviennent par défaut aux paramètres système. IronPDF vous fournit le paramètre baseUrlOrPath pour pointer les chemins relatifs vers le bon répertoire, donc une vérification rapide du rendu avant des exécutions en masse est généralement tout ce dont vous avez besoin pour l'attraper.

ARTICLE RELIÉ SUR COMMENT FAIRE : Comment convertir une chaîne HTML en PDF en C#

Comment exporter une URL existante en PDF

Le rendu de pages web entières en PDFs avec C# permet aux équipes de séparer le design PDF et le travail de rendu côté serveur. Cette approche vous permet de convertir toute URL spécifiée directement au format PDF.

La méthode centrale est RenderUrlAsPdf, qui récupère une page en direct et la rend en un seul appel :

using IronPdf;

// Create a PDF from any existing web page
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("wikipedia.pdf");

Sortie

Ici, RenderUrlAsPdf capture un article de Wikipédia en direct en un PDF statique prêt à être imprimé, avec texte, images, tableaux et mise en page préservés sur les 33 pages :

CSS Impression vs Écran

Vous pouvez configurer IronPDF pour rendre à l'aide de l'un ou l'autre type de média CSS.

using IronPdf;
using IronPdf.Rendering;

// Initialize HTML to PDF converter
var renderer = new ChromePdfRenderer();

// Configure CSS media type for rendering specified URLs
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Screen media type shows the entire web page as displayed on screen

Support JavaScript

IronPDF prend entièrement en charge JavaScript, jQuery, et même AJAX lorsque vous convertissez HTML en PDF. Pour le contenu HTML dynamique, vous pouvez configurer IronPDF pour attendre la fin de JavaScript avant de rendre les pages web en PDF. C'est parfait pour les applications à page unique et les sites web dynamiques.

using IronPdf;

// Configure JavaScript rendering for dynamic HTML content to PDF
var renderer = new ChromePdfRenderer();

// Enable JavaScript execution during PDF generation
renderer.RenderingOptions.EnableJavaScript = true;

// WaitFor.RenderDelay pauses before capturing the HTML
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds

L'exécution JavaScript peut également être montrée lors du rendu d'un graphique d3.js avancé en format PDF depuis une page web :

using IronPdf;

// Create renderer for JavaScript-heavy HTML
var renderer = new ChromePdfRenderer();

// Convert d3.js visualization web page to PDF
var pdf = renderer.RenderUrlAsPdf("https://observablehq.com/@d3/chord-diagram");

// Save the interactive chart as static PDF
pdf.SaveAs("chart.pdf");

Verified on IronPDF v2026.6.1 · .NET 10 · June 2026.

CSS Réactif

Comme les pages web réactives sont conçues pour être vues dans un navigateur, et IronPDF n'ouvre pas une vraie fenêtre de navigateur sur le système d'exploitation de votre serveur, les éléments HTML réactifs peuvent s'afficher à leur taille minimale. PdfCssMediaType.Print est recommandé pour naviguer dans cette question lors du rendu de pages web complètes.

// Configure for optimal responsive design handling in HTML to PDF
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

ARTICLE RELIÉ SUR COMMENT FAIRE : Comment rendre une URL en PDF

Comment convertir un fichier HTML en PDF

La conversion de fichiers HTML locaux en PDF préserve tous les actifs relatifs, y compris le CSS, les images et le JavaScript, comme s'ils étaient ouverts en utilisant le protocole file://. Cette méthode de conversion HTML en PDF est le mieux pour convertir des modèles ou des pages HTML pré-conçues en documents PDF.

using IronPdf;

// Initialize ChromePdfRenderer for HTML file conversion
var renderer = new ChromePdfRenderer();

// Convert HTML file to PDF documents
// Preserves all relative paths and linked resources in HTML
var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");

// Save the HTML file as PDF 
pdf.SaveAs("Invoice.pdf");

// All CSS, JavaScript, and images load correctly in the generated PDF

Verified on IronPDF v2026.6.1 · .NET 10 · June 2026.

Sortie

Pointez RenderHtmlFileAsPdf sur un modèle de facture HTML et le design complet du fichier (logo, tableau des articles, totaux) passe à travers de manière pixel-parfaite, sans code supplémentaire de votre côté :

Performance

Les performances ont été mesurées à nouveau en maintenant toutes les variables constantes pour afficher la facture d'Enterprise de 3 pages précédente à partir d'un fichier sur le disque :

MétriqueValeur
Temps de rendu moyen~502 ms
Mémoire par rendu~3,1 Mo

Mesuré sur 5 rendus successifs sur la même station de travail à 16 cœurs (Windows 11, .NET 8). Le rendu basé sur les fichiers correspond au rendu des chaînes en mémoire à environ 3 % près ; La lecture du code HTML à partir du disque n'ajoute aucune surcharge mesurable.

Conseils: Gardez vos fichiers HTML dans un dossier séparé avec leurs ressources (CSS, images) pour les éditer et tester dans un navigateur avant de convertir le fichier HTML en PDF. Cela garantit que votre HTML se rend parfaitement pour des documents PDF de haute qualité.

Article de référence: Rendre un fichier HTML en PDF

Comment convertir des pages Razor en PDF

Si votre projet ASP.NET Core utilise déjà des pages Razor, vous pouvez les convertir directement en PDF sans reconstruire votre HTML. L'extension Razor d'IronPDF ajoute la méthode RenderRazorToPdf, qui prend votre page .cshtml (complète avec son modèle et sa mise en page) et la rend en tant que document PDF en un seul appel.

Install-Emballer IronPdf.Extensions.Razor

using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

public class ReportModel : PageModel
{
    public IActionResult OnGet()
    {
        var renderer = new ChromePdfRenderer();

        // Render a Razor Page directly to PDF
        PdfDocument pdf = renderer.RenderRazorToPdf(this);

        Response.Headers.Add("Content-Disposition", "inline");
        return new FileContentResult(pdf.BinaryData, "application/pdf");
    }
}
Veuillez noter: RenderRazorToPdf nécessite un projet ASP.NET Core Web App. Cela ne fonctionnera pas dans les applications console ou les bibliothèques de classes ; le moteur de vue Razor doit être disponible dans le pipeline d'hébergement.

ARTICLE COMMENT FAIRE RELIÉ : Comment convertir du CSHTML en PDF dans les pages Razor

Comment convertir des vues MVC en PDF

Les équipes utilisant le modèle MVC peuvent générer des PDF directement à partir de leurs vues et contrôleurs existants. Installez le paquet d'extension MVC Core, puis appelez RenderRazorViewToPdf avec le chemin de votre vue et votre modèle ; IronPDF gère le pipeline de rendu Razor et produit un PDF fini.

C'est particulièrement utile pour les rapports, les factures, et toute page où le HTML est déjà conçu et testé dans le navigateur. Le PDF généré préserve la sortie complète de la Vue, y compris les pages de mise en page et les vues partielles.

Install-Emballer IronPdf.Extensions.Mvc.Core

Tout d'abord, enregistrez le service IRazorViewRenderer dans votre Program.cs pour que vos contrôleurs puissent l'injecter :

using IronPdf.Extensions.Mvc.Core;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();

// Register the Razor view renderer for IronPDF
builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
builder.Services.AddSingleton<IRazorViewRenderer, RazorViewRenderer>();

Ensuite, dans votre action de contrôleur, injectez le renderer et convertissez n'importe quelle Vue en PDF :

using IronPdf;
using IronPdf.Extensions.Mvc.Core;
using Microsoft.AspNetCore.Mvc;

public class ReportController : Controller
{
    private readonly IRazorViewRenderer _viewRenderService;

    // Inject the view renderer via constructor
    public ReportController(IRazorViewRenderer viewRenderService)
    {
        _viewRenderService = viewRenderService;
    }

    public IActionResult Download()
    {
        var reportModel = new { Title = "Quarterly Report", Total = 1250.00 };
        var renderer = new ChromePdfRenderer();

        // Render an MVC View with model data to PDF
        PdfDocument pdf = renderer.RenderRazorViewToPdf(
            _viewRenderService, "Views/Home/Report.cshtml", reportModel);

        Response.Headers.Add("Content-Disposition", "inline");
        return new FileContentResult(pdf.BinaryData, "application/pdf");
    }
}

ARTICLE COMMENT FAIRE RELIÉ : Comment convertir des vues en PDF dans ASP.NET Core MVC

Page web dynamique à PDF

Avez-vous besoin que votre page web dynamique soit préservée et convertie en PDF tout en conservant la disposition et le formatage exacts ? Ne cherchez pas plus loin qu'IronPDF, qui convertit rapidement une variété de frameworks de pages web dynamiques populaires en PDF.

PDF à partir de pages ASPX

Voici un extrait de code succinct sur la conversion de pages ASPX en PDF dans les Active Server Pages.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using IronPdf;

namespace AspxToPdfTutorial
{
    public partial class Invoice : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
        }
    }
}

Pour une explication plus détaillée de cet extrait de code et pour explorer sa fonctionnalité supplémentaire, veuillez consulter notre guide complet.

XAML en PDF (MAUI)

Pour les développeurs cherchant à créer des applications multiplateformes, .NET MAUI est un choix populaire parmi les frameworks. IronPDF prend entièrement en charge la conversion de XAML en PDF en quelques étapes.

using IronPdf.Extensions.Maui;

namespace mauiSample;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private void PrintToPdf(object sender, EventArgs e)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Apply HTML header
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            HtmlFragment = "<h1>Header</h1>",
        };

        // Render PDF from Maui Page
        PdfDocument pdf = renderer.RenderContentPageToPdf<MainPage, App>().Result;

        pdf.SaveAs(@"C:\Users\lyty1\Downloads\contentPageToPdf.pdf");
    }
}

Pour une explication plus détaillée de cet extrait de code et pour explorer sa fonctionnalité supplémentaire, veuillez consulter notre guide complet.

Générer des rapports PDF

Quand il s'agit de générer des rapports PDF, les dimensions exactes et le format sont essentiels. Ainsi, IronPDF vous permet de générer des PDF facilement avec seulement quelques étapes.

using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");

Pour une explication plus détaillée de cet extrait de code et pour explorer sa fonctionnalité supplémentaire, veuillez consulter notre guide complet.

Créer des PDF dans des serveurs Blazor

IronPDF prend en charge .NET 6, et comme il inclut des types de projet comme Blazor, cet extrait de code fournit un exemple succinct de création de PDF dans un serveur Blazor.

@code {

    // Model to bind user input
    private InputHTMLModel _InputMsgModel = new InputHTMLModel();

    private async Task SubmitHTML()
    {
        // Set your IronPDF license key
        IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

        // Create a renderer to convert HTML to PDF
        var render = new IronPdf.ChromePdfRenderer();

        // Render the HTML input into a PDF document
        var doc = render.RenderHtmlAsPdf(_InputMsgModel.HTML);

        var fileName = "iron.pdf";

        // Create a stream reference for the PDF content
        using var streamRef = new DotNetStreamReference(stream: doc.Stream);

        // Invoke JavaScript function to download the PDF in the browser
        await JS.InvokeVoidAsync("SubmitHTML", fileName, streamRef);
    }

    public class InputHTMLModel
    {
        public string HTML { get; set; } = "My new message";
    }
}

Pour une explication plus détaillée de cet extrait de code et pour explorer sa fonctionnalité supplémentaire, veuillez consulter notre guide complet.

Razor en PDF (Serveurs Blazor)

En plus de créer des PDFs dans Blazor Servers, IronPDF prend également en charge la génération de documents PDF à partir de composants Razor dans une page Blazor. Rendant la création de fichiers et de pages PDF beaucoup plus rationalisée.

[Parameter]
public IEnumerable<PersonInfo> persons { get; set; }
public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();
 
protected override async Task OnInitializedAsync()
{
    persons = new List<PersonInfo>
    {
        new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
        new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
        new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
}
private async void PrintToPdf()
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
 
    // Apply text footer
    renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            LeftText = "{date} - {time}",
            DrawDividerLine = true,
            RightText = "Page {page} of {total-pages}",
            Font = IronSoftware.Drawing.FontTypes.Arial,
            FontSize = 11
        };
 
    Parameters.Add("persons", persons);
 
    // Render razor component to PDF
    PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
 
    File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);
}

Pour une explication plus détaillée de cet extrait de code et pour explorer sa fonctionnalité supplémentaire, veuillez consulter notre guide complet.

CSHTML en PDF

La conversion de CSHTML (Razor) en PDF vous permet de générer des documents professionnels, prêts à imprimer, directement depuis vos applications web. Cela est utile pour les factures, rapports, contrats ou tout contenu dynamique. IronPDF prend en charge Razor Pages, MVC Core, et MVC Framework, ainsi que le rendu sans tête, facilitant l'intégration de la génération de PDF dans vos applications .NET en seulement quelques lignes de code.

CSHTML en PDF (Pages Razor)
using IronPdf.Razor.Pages;
 
public IActionResult OnPostAsync()
{
    persons = new List<Person>
    {
    new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
    new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
    new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
 
    ViewData["personList"] = persons;
 
    ChromePdfRenderer renderer = new ChromePdfRenderer();
 
    // Render Razor Page to PDF document
    PdfDocument pdf = renderer.RenderRazorToPdf(this);
 
    Response.Headers.Add("Content-Disposition", "inline");
 
    return File(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf");
}

Pour une explication plus détaillée de cet extrait de code et pour explorer sa fonctionnalité supplémentaire, veuillez consulter notre guide complet.

CSHTML en PDF (MVC Core)
public async Task<IActionResult> Persons()
{
    var persons = new List<Person>
    {
    new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
    new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
    new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
    if (_httpContextAccessor.HttpContext.Request.Method == HttpMethod.Post.Method)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();
 
        // Render View to PDF document
        PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons);
        Response.Headers.Add("Content-Disposition", "inline");
 
        // Output PDF document
        return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf");
    }
    return View(persons);
}

Pour une explication plus détaillée de cet extrait de code et pour explorer sa fonctionnalité supplémentaire, veuillez consulter notre guide complet.

CSHTML en PDF (MVC Framework)
public ActionResult Persons()
{
    var persons = new List<Person>
    {
    new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
    new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
    new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
    if (HttpContext.Request.HttpMethod == "POST")
    {
        // Provide the path to your view file
        var viewPath = "~/Views/Home/Persons.cshtml";
        ChromePdfRenderer renderer = new ChromePdfRenderer();
 
        // Render Razor view to PDF document
        PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);
        Response.Headers.Add("Content-Disposition", "inline");
 
        // View the PDF
        return File(pdf.BinaryData, "application/pdf");
    }
    return View(persons);
}

Pour une explication plus détaillée de cet extrait de code et pour explorer sa fonctionnalité supplémentaire, veuillez consulter notre guide complet.

CSHTML en PDF (Sans tête)
app.MapGet("/PrintPdf", async () =>
{
    // Set your IronPDF license key
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    
    // Enable detailed logging for troubleshooting
    IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;

    // Render the Razor view to an HTML string
    string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");

    // Create a new instance of ChromePdfRenderer 
    ChromePdfRenderer renderer = new ChromePdfRenderer();
   
    // Render the HTML string as a PDF document
    PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");

    // Return the PDF file as a response
    return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});

Pour une explication plus détaillée de cet extrait de code et pour explorer sa fonctionnalité supplémentaire, veuillez consulter notre guide complet.

2. Comment configurer les paramètres de conversion HTML en PDF

En termes de manipulation de documents PDF, IronPDF offre des personnalisations étendues via la propriété ChromePdfRenderer.RenderingOptions pour les PDFs rendus.

ParamètresDescriptionExemple
TailleDuPapierDéfinir les dimensions des pages pour les PDF existants (A4, Letter, Legal, etc.)PdfPaperSize.A4
OrientationDuPapierDéfinir le mode portrait ou paysage pour les PDF existantsPdfPaperOrientation.Paysage
MargeHaut/Bas/Gauche/DroitDéfinir les marges de page en millimètres (par défaut : 25mm)25
CssMediaTypeÉcran ou impression CSS pour HTML vers PDFPdfCssMediaType.Impression
PrintHtmlBackgroundsInclure les couleurs d'arrière-plan/images (par défaut : true)vrai
ActiverJavaScriptExécuter JavaScript avant de rendre le contenu HTMLvrai
AttentePour.RetardDeRenduTemps d'attente pour un contenu HTML dynamique (ms)500

Voir cet extrait de code pour un exemple complet de configuration pour manipuler des documents PDF :

using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Apply print-specific CSS rules
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Set custom margins in millimeters
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;

// Enable background colors and images
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

// Set paper size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;

// Generate PDFs with all settings applied to HTML content
var htmlContent = "<div style='background-color: #f0f0f0; padding: 20px;'><h1>Styled Content</h1></div>";
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
pdfDocument.SaveAs("styled-output.pdf");
Conseils: Utilisez PdfCssMediaType pour des mises en page plus propres et optimisées pour l'impression dans votre format de fichier PDF rendu. Utilisez Écran pour correspondre exactement à ce que les utilisateurs voient dans leur navigateur.

ARTICLES RELIÉS SUR COMMENT FAIRE :

Comment définir des en-têtes HTTP personnalisés, des cookies et des identifiants de connexion

Lors du rendu d'URL nécessitant une authentification ou des métadonnées de requête spécifiques, IronPDF vous permet d'inclure les identifiants de connexion, les cookies de session, et les en-têtes HTTP avec la requête. Cela permet de rendre des tableaux de bord intranet, des rapports restreints, ou des pages générées par une API directement en PDF sans avoir besoin de récupérer séparément le HTML.

Pour l'authentification basique ou NTLM, définissez un objet LoginCredentials sur le moteur de rendu. Pour l'accès basé sur les jetons ou les sessions, passez les cookies et les en-têtes par RenderingOptions avant d'appeler RenderUrlAsPdf.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Network authentication (Basic, Digest, NTLM)
renderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    NetworkUsername = "user@domain.com",
    NetworkPassword = "securePassword"
};

// Session cookies for authenticated pages
renderer.RenderingOptions.CustomCookies["sessionId"] = "abc123";

// Custom HTTP headers (e.g., Bearer tokens, API keys)
renderer.RenderingOptions.CustomHttpRequestHeaders["Authorization"] = "Bearer eyJhbGciOi...";

var pdf = renderer.RenderUrlAsPdf("https://intranet.com/pany.com/quarterly-report");
pdf.SaveAs("quarterly-report.pdf");

ARTICLES COMMENT FAIRE RELIÉS : Rendre des PDF derrière l'authentification de connexion | En-têtes de requête HTTP personnalisés

Comment configurer un proxy pour le rendu PDF

Lors du rendu de HTML qui charge des ressources externes derrière un proxy d'entreprise, passez l'adresse du proxy en tant que troisième paramètre sur RenderHtmlAsPdf(). Il s'agit d'un paramètre de méthode, non d'une propriété sur ChromePdfRenderOptions, donc il est défini par appel de rendu, pas sur l'instance du moteur de rendu.

Pour les proxies authentifiés, intégrez directement les informations d'identification dans l'URL en utilisant le format http://user:pass@host:port. Encodez les caractères spéciaux des mots de passe en URL avec Uri.EscapeDataString().

using IronPdf;

var renderer = new ChromePdfRenderer();

// Proxy is the third parameter, not a render option
var pdf = renderer.RenderHtmlAsPdf(
    "<h1>Report</h1><link rel='stylesheet' href='https://cdn.example.com/styles.css'>",
    baseUrlOrPath: null,
    proxy: "http://proxy.co/rp.local:8080"
);
pdf.SaveAs("proxied-report.pdf");
C#

Notez que RenderUrlAsPdf() n'accepte pas de paramètre proxy. Pour rendre une URL en direct derrière un proxy, récupérez d'abord le HTML avec HttpClient configuré avec un WebProxy, puis passez-le à RenderHtmlAsPdf() avec le paramètre proxy pour le chargement des ressources.

ARTICLE COMMENT FAIRE RELIÉ : Comment configurer des serveurs proxy pour le rendu PDF

3. Comment utiliser les fonctionnalités avancées de génération et de sécurité des PDF

Débloquez des capacités de niveau entreprise pour la conversion HTML en PDF avec des modèles avancés, des opérations asynchrones, et des fonctionnalités de sécurité. Ces méthodes de manipulation de PDFs vous permettent de créer des documents PDF à grande échelle, de protéger les fichiers PDF sensibles, et d'assurer l'authenticité des documents lorsque vous convertissez HTML en format PDF professionnel.

Comment générer un modèle HTML pour la création de PDF par lot

Création de PDF par lot de base

La création de PDF par lot est essentielle pour générer efficacement plusieurs documents PDF personnalisés. Pour les scénarios basiques, la méthode String.Format en C# fonctionne le mieux pour la manipulation simple de PDF.

// Simple HTML templating with String.Format
string htmlTemplate = String.Format("<h1>Hello {0}!</h1>", "World");

// Results in HTML content: <h1>Hello World!</h1>

Pour les modèles plus longs lorsque vous devez générer des documents PDF, utilisez le remplacement de repères dans votre contenu HTML :

using IronPdf;

// Define reusable HTML template for PDF files
var htmlTemplate = "<p>Dear [[NAME]],</p><p>Thank you for your order.</p>";

// Customer names for batch PDF conversion processing
var names = new[] { "John", "James", "Jenny" };

// Create personalized PDF documents for each customer
var renderer = new ChromePdfRenderer();

foreach (var name in names)
{
    // Replace placeholder with actual data in HTML string
    var htmlInstance = htmlTemplate.Replace("[[NAME]]", name);

    // Generate personalized PDF document from HTML content
    var pdf = renderer.RenderHtmlAsPdf(htmlInstance);

    // Save with customer-specific filename as PDF files
    pdf.SaveAs($"{name}-invoice.pdf");
}

Modélisation HTML en PDF avec Handlebars.NET

Pour les modèles complexes avec boucles et conditionnels lors de la conversion HTML en PDF, utilisez le modèle avancé avec Handlebars.NET pour générer des documents PDF avec du contenu HTML dynamique.

# First, install Handlebars.NET for HTML to PDF templating
PM > Install-Emballer Handlebars.NET
SHELL
using HandlebarsDotNet;
using IronPdf;

// Define Handlebars template with placeholders for HTML content
var source = 
    @"<div class=""entry"">
        <h1>{{title}}</h1>
        <div class=""body"">
            {{body}}
        </div>
    </div>";

// Compile template for reuse in PDF conversion
var template = Handlebars.Compile(source);

// Create data object (can be database records) for HTML to PDF directly
var data = new { 
    title = "Monthly Report", 
    body = "Sales increased by 15% this month." 
};

// Merge template with data to create HTML content
var htmlResult = template(data);

// Convert templated HTML to PDF using the PDF converter
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlResult);

pdf.SaveAs("monthly-report.pdf");

Article HOW-TO RELATÉ : En savoir plus sur Handlebars.NET sur GitHub

Contrôlez les sauts de page du PDF :

La gestion de la pagination dans les documents PDF générés garantit des mises en page professionnelles et lisibles lorsque vous convertissez des extraits HTML. Utilisez les feuilles de style CSS pour contrôler l'interruption des pages dans vos fichiers PDF.

<!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>Page 1 Content</h1>
    </div>
    <div class="page">
      <h1>Page 2 Content</h1>
    </div>
    <div class="page">
      <h1>Page 3 Content</h1>
    </div>
  </body>
</html>
HTML

Comment générer un PDF en utilisant la méthode asynchrone

IronPDF offre des performances de niveau entreprise avec un support complet asynchrone et multithread pour vos besoins de conversion de HTML en PDF lorsque vous devez générer des fichiers PDF à grande échelle.

using IronPdf;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

public class PdfGenerationService
{
    // Async method for non-blocking PDF generation from HTML content
    public async Task<byte[]> GeneratePdfAsync(string html)
    {
        var renderer = new ChromePdfRenderer();

        // Async HTML to PDF conversion preserves thread pool
        var pdf = await renderer.RenderHtmlAsPdfAsync(html);

        // Return PDF files as byte array for web responses
        return pdf.BinaryData;
    }

    // Concurrent batch PDF generation for multiple HTML strings
    public async Task GenerateMultiplePdfsAsync(List<string> htmlTemplates)
    {
        var renderer = new ChromePdfRenderer();

        // Create parallel conversion tasks to generate PDF documents
        var tasks = htmlTemplates.Select(html =>
            renderer.RenderHtmlAsPdfAsync(html)
        );

        // Await all PDF conversions simultaneously
        var pdfs = await Task.WhenAll(tasks);

        // Save generated PDF files from HTML content
        for (int i = 0; i < pdfs.Length; i++)
        {
            pdfs[i].SaveAs($"document-{i}.pdf");
        }
    }
}

Verified on IronPDF v2026.6.1 · .NET 10 · June 2026.

Conseils: Conseils d'optimisation des performances pour la conversion HTML vers PDF
  • Utilisez des systèmes 64 bits pour une performance optimale de génération de PDF.
  • Assurez des ressources serveur adéquates lorsque vous générez des documents PDF (évitez les niveaux gratuits sous-capacitaires)
  • Permettez un délai de rendu suffisant pour un JavaScript complexe dans le contenu HTML.
  • Réutilisez les instances ChromePdfRenderer lorsque c'est possible.
  • Profitez des correctifs de mémoire récents pour les opérations par lots/asynchrone pour réduire l'utilisation des ressources ; testez pour des tailles de fichiers réduites avec des en-têtes/pieds de page personnalisés répétés.

Article de référence: Comment générer des PDF avec Async et Multithreading

Comment ajouter des fonctionnalités de sécurité avancées

Comment ajouter une protection par mot de passe pour les fichiers PDF en .NET

Sécurisez les documents PDF générés sensibles avec des mots de passe et des permissions lorsque vous convertissez le contenu HTML au format PDF protégé.

using IronPdf;
var renderer = new ChromePdfRenderer();

// Convert HTML to PDF with security
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Report</h1>");

// Configure security settings for PDF files
pdf.SecuritySettings.UserPassword = "user123";     // Password to open PDF documents
pdf.SecuritySettings.OwnerPassword = "owner456";   // Password to modify PDF files

// Set granular permissions for PDF format
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.PrintLowQuality;

// Apply strong encryption to PDF documents
pdf.SecuritySettings.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256;
pdf.SaveAs("secure-document.pdf");

Comment ajouter des signatures numériques aux fichiers PDF

Ajoutez des signatures cryptographiques pour assurer l'authenticité des documents PDF lorsque vous générez des fichiers PDF à partir du contenu HTML. Une fois signée, vous pouvez vérifier la signature et lire le certificat du signataire pour les audits et les vérifications de conformité.

using IronPdf;
using IronPdf.Signing;

var renderer = new ChromePdfRenderer();

// Generate PDF from HTML page
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>");

// Create digital signature with certificate for PDF files
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "legal@company.com",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};

// Apply signature to PDF documents
pdf.Sign(signature);
pdf.SaveAs("signed-contract.pdf");
C#

Verified on IronPDF v2026.6.1 · .NET 10 · June 2026.

Article de référence : Signature numérique de documents PDF avec C#

Comment convertir des formulaires HTML en PDF remplissables

Pour convertir les éléments de formulaire HTML standard en champs de formulaire PDF interactifs et remplissables, activez l'option de rendu CreatePdfFormsFromHtml. Cela préserve les entrées de texte, les cases à cocher, les boutons radio et les menus déroulants comme champs modifiables dans le document PDF généré.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Enable HTML form to PDF form conversion
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

string htmlForm = @"
    <h2>Employee Onboarding Form</h2>
    <form>
        <label>Full Name:</label>
        <input type='text' name='fullName' value='' /><br/>
        <label>Department:</label>
        <select name='department'>
            <option value='engineering'>Engineering</option>
            <option value='marketing'>Marketing</option>
            <option value='sales'>Sales</option>
        </select><br/>
        <label>Agree to Terms:</label>
        <input type='checkbox' name='agreeTerms' />
    </form>";

var pdf = renderer.RenderHtmlAsPdf(htmlForm);
pdf.SaveAs("onboarding-form.pdf");
Avertissement: Chaque champ de formulaire dans votre HTML doit avoir un attribut name unique. Les noms en double entraîneront les champs à partager la même valeur dans le PDF généré, conduisant à un comportement inattendu lorsque les utilisateurs remplissent le formulaire.

ARTICLE COMMENT FAIRE RELIÉ : Comment créer des formulaires PDF remplissables en C#

Comment convertir des éléments HTML spécifiques en PDF

Pour rendre une section spécifique d'une page plutôt que le document complet, isolez l'élément cible avant de le rendre. L'approche la plus directe utilise l'option de rendu JavaScript pour remplacer le corps du document par le contenu de l'élément cible, combiné avec WaitFor.HtmlQuerySelector() pour garantir que l'élément existe avant l'extraction. L'extrait ci-dessous préserve document.head afin que les feuilles de style et les polices soient transmises ; sans cette étape, les règles CSS s'appuyant sur des sélecteurs d'ancêtres seraient perdues dans le PDF extrait.

Pour les scénarios côté serveur où vous avez accès au HTML brut, extrayez le fragment cible avec un analyseur comme AngleSharp et passez-le à RenderHtmlAsPdf(), aucune exécution JavaScript nécessaire.

using IronPdf;

// Full page HTML containing the target element
string fullPageHtml = @"
<html>
<body>
    <header><h1>Acme Corp Invoice</h1></header>
    <div id='invoice-summary'>
        <h2>Invoice #12345</h2>
        <p>Total: $1,250.00</p>
    </div>
    <footer>Confidential</footer>
</body>
</html>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;

// Replace the body with only the target element
renderer.RenderingOptions.Javascript = @"
    var el = document.querySelector('#invoice-summary');
    if (el) {
        var head = document.head.innerHTML;
        document.body.innerHTML = el.outerHTML;
        document.head.innerHTML = head;
    }
";

// Wait for the target element before JS executes
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("#invoice-summary", 10000);

var pdf = renderer.RenderHtmlAsPdf(fullPageHtml);
pdf.SaveAs("invoice-summary.pdf");

ARTICLE COMMENT FAIRE RELIÉ : Comment convertir des éléments HTML et des pages partielles en PDF

Comment rendre des pages authentifiées en PDF

Il existe trois mécanismes pour rendre les pages qui se trouvent derrière une authentification : les identifiants de connexion réseau, les cookies personnalisés et les en-têtes de requête HTTP. Ceux-ci couvrent les scénarios d'authentification les plus courants lors de la conversion de contenu web protégé en PDF.

Identifiants de connexion

Utilisez ChromeHttpLoginCredentials pour l'authentification basique, digest ou NTLM lors de la conversion d'URLs protégées en PDF.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure network authentication
renderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    NetworkUsername = "user@domain.com",
    NetworkPassword = "securePassword",
    AuthenticationType = ChromeHttpLoginCredentials.AuthType.Basic
};

var pdf = renderer.RenderUrlAsPdf("https://intranet.company.com/reports");
pdf.SaveAs("authenticated-report.pdf");

Cookies et en-têtes HTTP

Pour l'authentification basée sur les tokens ou les sessions, attachez directement les cookies et les en-têtes HTTP personnalisés à la requête de rendu.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Add session cookies
renderer.RenderingOptions.CustomCookies["sessionId"] = "abc123token";
renderer.RenderingOptions.CustomCookies["authToken"] = "bearer-xyz";

// Add custom HTTP headers (e.g., API key or Bearer token)
renderer.RenderingOptions.HttpRequestHeaders["Authorization"] = "Bearer eyJhbGciOi...";

var pdf = renderer.RenderUrlAsPdf("https://app.example.com/dashboard");
pdf.SaveAs("dashboard.pdf");
C#

Pour les connexions basées sur des formulaires HTML (POST nom d'utilisateur/mot de passe), envisagez d'utiliser HttpClient pour authentifier d'abord, puis passez les cookies résultants au dictionnaire CustomCookies pour rendre la page protégée.

ARTICLE COMMENT FAIRE RELIÉ : Comment convertir du HTML derrière une authentification de connexion en PDF

Comment générer des PDF à partir de plusieurs extraits HTML ?

Pour générer des PDF en combinant des extraits HTML, vous pouvez les fusionner . Cela permet de créer des rapports à plusieurs sections ou de combiner du contenu provenant de différentes sources :

var renderer = new ChromePdfRenderer();

PdfDocument part1 = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>");
PdfDocument part2 = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>");

var merged = PdfDocument.Merge(part1, part2);
merged.SaveAs("Merged.pdf");

// Alternative approach: copy specific pages
var combinedDoc = new PdfDocument();
combinedDoc.CopyPage(part1, 0); // Copy first page
combinedDoc.CopyPage(part2, 0); // Copy first page
combinedDoc.SaveAs("Combined.pdf");

Cela s'avère utile lors de la création de rapports à plusieurs sections à partir de différents fragments HTML. Vous pouvez également ajouter des signets pour améliorer la navigation.

Interface Adobe Acrobat montrant un document PDF avec le titre 'Section 1' et un panneau de pages affichant les miniatures de la section 1 et de la section 2.

Comment convertir du HTML en PDF via les API Web ?

Dans l'API Web ASP.NET , générez et renvoyez des fichiers PDF sans les enregistrer sur disque à l'aide de MemoryStream . Ce modèle est idéal pour les applications Blazor et les services RESTful :

[HttpGet("download")]
public IActionResult GetPdf()
{
    var renderer = new ChromePdfRenderer();
    string html = "<h1>Web Report</h1><p>Generated dynamically.</p>";

    var pdf = renderer.RenderHtmlAsPdf(html);
    var bytes = pdf.BinaryData;

    // Optional: Add metadata
    pdf.MetaData.Author = "API Service";
    pdf.MetaData.CreationDate = DateTime.Now;

    return File(bytes, "application/pdf", "report.pdf");
}

Ce modèle fonctionne parfaitement pour la génération de PDF côté serveur dans les applications web .NET 10. Vous pouvez intégrer des vues CSHTML pour les applications MVC.

Comment ajouter des en-têtes, des filigranes et des mesures de sécurité ?

Ajout d'en-têtes et de pieds de page Professional

Les en-têtes et pieds de page affichant les numéros de page, les dates ou la marque rendent les documents de plusieurs pages beaucoup plus lisibles et Professional. IronPDF les traite comme des fragments HTML, vous pouvez donc utiliser un style CSS complet, y compris les images et les couleurs de la marque :

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 50,
    HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    BaseUrl = new Uri(@"file:///C:/assets/")
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 30,
    HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    DrawDividerLine = true
};

renderer.RenderingOptions.MarginTop = 60;
renderer.RenderingOptions.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>");
pdf.SaveAs("report-with-headers.pdf");

Les espaces réservés comme {page} et {total-pages} sont remplacés automatiquement lors du rendu. Consultez le tutoriel sur les en-têtes et pieds de page pour l'injection de dates dynamiques, le placement de logos et les styles de pages alternés.

Application de filigranes, de chiffrement et de signatures numériques

Les filigranes protègent les documents provisoires et les rapports confidentiels. La protection par mot de passe et les paramètres d'autorisation limitent les personnes autorisées à imprimer, copier ou modifier un PDF. Les signatures numériques ajoutent un niveau d'authentification vérifiable aux contrats et aux documents réglementés. Vous pouvez combiner les trois dans un seul flux de travail :

using IronPdf;
using System.Security.Cryptography.X509Certificates;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>");

// Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation: 45,
    opacity: 30
);

// Encryption and permissions
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

// Digital signature
var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password");
var signature = new PdfSignature(cert)
{
    SigningContact = "Jane Smith",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};
pdf.Sign(signature);
pdf.SaveAsRevision("signed-contract.pdf");

Découvrez les techniques de tatouage numérique , les paramètres de sécurité des PDF et la signature par certificat , y compris l'intégration HSM pour les modules de sécurité matériels.

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

4. Comment déployer du HTML en PDF sur des plateformes cloud

Le déploiement de la conversion HTML en PDF dans des environnements cloud nécessite une configuration spécifique pour le rendu sans tête, les chemins de fichiers temporaires et l'allocation des ressources. Cette section couvre les plateformes cloud les plus courantes et les déploiements conteneurisés avec IronPDF.

Plate-formeRessources min.EmballerAutoConfigChemin TempPoint clé
Service d'application AzureTier B1 (Basique)IronPdf.Linuxtrue/tmpLes niveaux Gratuit/Partagé échouent (pas de GPU, faible mémoire)
Fonctions Azure (Windows)Tiers B1IronPdftrue/tmpDécochez "Exécuter à partir du fichier package"
AWS Lambda512 MB / délai de 60sIronPdf.Linuxtrue/tmp (requis)Le système de fichiers par défaut est en lecture seule
Docker (Ubuntu/Debian)Dépendant de l'imageIronPdf.LinuxfalsePar défaut de l'imageDéfinir sur false (Dockerfile gère les dépendances)

Comment déployer sur Azure

Lors du déploiement sur Azure Functions ou App Service, désactivez l'accélération GPU et assurez-vous que votre niveau d'hébergement fournit suffisamment de mémoire pour le rendu basé sur Chrome. Ajoutez ces paramètres au démarrage de l'application, avant tout appel de rendu.

Les sandboxes Azure fonctionnent sans tête sans accès GPU, et les tiers Free/Shared (F1, D1) manquent des ressources requises par Chrome. Ciblez au minimum un niveau B1 (Basique) ou supérieur.

using IronPdf;

// Azure sandboxes block GPU access, always disable
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
// Required on non-GUI Linux systems
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Azure PDF Report</h1>");
pdf.SaveAs("azure-report.pdf");
Prudence: Les niveaux Free et Shared d'Azure App Service (F1, D1) n'ont pas assez de ressources pour le rendu PDF basé sur Chrome. Utilisez au minimum un niveau B1 (Basique) ou supérieur pour éviter les erreurs de manque de mémoire et les délais d'expiration des processus.

GUIDE DE DÉMARRAGE RELIÉ : Comment déployer IronPDF sur Azure

Comment déployer sur AWS Lambda

AWS Lambda nécessite un déploiement basé sur Docker pour le rendu sur Chrome. Le système de fichiers Lambda par défaut est en lecture seule, donc tous les chemins temporaires et de déploiement doivent pointer vers /tmp.

Configurez ces paramètres en haut de votre handler de fonction, avant tout appel de rendu.

using Amazon.Lambda.Core;
using IronPdf;

public class PdfFunction
{
    public string FunctionHandler(string input, ILambdaContext context)
    {
        // Lambda's only writable directory
        var tmpPath = "/tmp/";

        IronPdf.Installation.TempFolderPath = tmpPath;
        IronPdf.Installation.CustomDeploymentDirectory = tmpPath;
        IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
        // Let IronPDF install Chrome dependencies on first cold start
        IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;

        context.Logger.LogLine("Rendering PDF...");

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(input);

        // Save to /tmp before uploading to S3 or returning
        var outputPath = $"{tmpPath}output.pdf";
        pdf.SaveAs(outputPath);

        return outputPath;
    }
}
Veuillez noter: Configurez votre fonction Lambda avec au moins 512 MB de mémoire et un temps limite de 60 secondes minimum. Le rendu basé sur Chrome est gourmand en mémoire, et les démarrages à froid nécessitent un temps d'initialisation supplémentaire pour le moteur de navigateur intégré.

GUIDE DE DÉMARRAGE RELIÉ : Comment déployer IronPDF sur AWS Lambda

Comment déployer avec Docker

Pour les déploiements Docker, utilisez le paquet NuGet IronPdf.Linux pour réduire la taille de l'image et éviter les téléchargements d'actifs au runtime. Ce package inclut des binaires natifs Linux pré-empaquetés optimisés pour les environnements conteneurisés.

Définissez LinuxAndDockerDependenciesAutoConfig = false lorsque votre Dockerfile installe déjà les dépendances des bibliothèques partagées de Chrome via apt-get. L'auto-installation à l'exécution est redondante dans ce cas et peut entraîner des erreurs de permission ou des démarrages à froid plus longs.

Plate-formeEmballerConfiguration clé
Ubuntu 22.04 / DebianIronPdf.LinuxPar défaut, fonctionne dès la sortie de la boîte
Alpine LinuxIronPdf.LinuxInstallez Chromium via apk dans le Dockerfile
Amazon Linux 2IronPdf.LinuxUtilisez LinuxAndDockerDependenciesAutoConfig = true
Conteneurs WindowsIronPdfAucune configuration supplémentaire requise

Un Dockerfile multi-stage minimal pour une image basée sur Ubuntu/Debian :

FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /app
COPY . .
RUN dotnet publish -c Release -o /out

FROM mcr.microsoft.com/dotnet/aspnet:10.0
# Install Chrome dependencies for PDF rendering
RUN apt-get update && apt-get install -y \
    libglib2.0-0 libnss3 libatk1.0-0 libatk-bridge2.0-0 \
    libcups2 libdrm2 libxkbcommon0 libxcomposite1 \
    libxdamage1 libxrandr2 libgbm1 libpango-1.0-0 \
    libcairo2 libasound2 libxshmfence1 && \
    rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=build /out .
ENTRYPOINT ["dotnet", "MyApp.dll"]
Text

using IronPdf;

// Dependencies handled by Dockerfile apt-get, disable runtime install
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
// No GPU in containers
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Dockerized PDF</h1>");
pdf.SaveAs("output.pdf");

Verified on IronPDF v2026.6.1 · .NET 10 · June 2026.

GUIDE DE DÉMARRAGE RELIÉ : Comment utiliser IronPDF avec Docker

Comment optimiser et mettre à l'échelle les performances HTML vers PDF dans .NET Core ?

Le moteur Chromium d'IronPDF rend déjà la plupart des pages en moins de 1 s sur du matériel moderne, mais le débit peut être multiplié par le traitement par lots, l'activation du multithreading, et la réduction des charges de Headless Chrome. Les conseils ci-dessous s'appliquent également à toutes les versions .NET.

1. Rendus par lots sur un pool de threads en arrière-plan

IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Set rendering options
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;

renderer.RenderHtmlFileAsPdf(@"testFile.html").SaveAs("GeneratedFile.pdf");

2. Réduire le coût de démarrage de Headless Chrome

IronPDF distribue sa propre version Chromium, mais chaque rendu entraîne un petit surcoût initial. La mise en commun des ressources est utile, et les conteneurs Linux doivent inclure deux bibliothèques natives :

RUN apt-get update && \
    apt-get install -y --no-install-recommends libnss3 libatk1.0-0
Text

L'absence de l'une ou l'autre bibliothèque se manifeste comme une erreur libnss3.so not found dans les journaux Docker.

Les drapeaux Chrome recommandés (automatiquement appliqués par IronPDF) incluent --disable-gpu et --no-sandbox pour réduire la mémoire et les problèmes d'utilisateur root dans les conteneurs.

3. Attendez le JavaScript tardif avec RenderDelay ou WaitFor

Les pages qui animent des compteurs ou récupèrent des données après DOMContentLoaded peuvent nécessiter un court délai :

renderer.RenderingOptions.RenderDelay = 200;        // ms
// OR: renderer.RenderingOptions.JavaScript = "WaitFor('window.doneLoading')";

Voir le tutoriel WaitFor pour des promesses personnalisées et le sondage de DOM.

4. Activez la journalisation de débogage pour une demande

IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("1.pdf");
PdfDocument pdf2 = PdfDocument.FromFile("2.pdf");
pdf.AppendPdf(pdf2);
pdf.SaveAs("appendedFile.pdf");

Les traces Live DevTools exposent les polices manquantes, les images en 404 et les événements de timing sans recompilation du code.

5. Réutilisez les PDF modèles au lieu de les re-rendre

Pour les séries de factures, créez un modèle PDF avec des espaces réservés comme [[name]] et effectuez un remplacement de texte au lieu de reconstruire du HTML complexe. C'est 10× plus rapide et léger en mémoire.

Lectures complémentaires


5. Comparer IronPDF avec d'autres bibliothèques PDF .NET

IronPDF est la solution de choix pour de nombreuses équipes en matière de génération PDF en C# grâce à son moteur de rendu basé sur Chromium robuste, ses API intuitives et ses améliorations produit fréquentes. Comparons IronPDF avec d'autres convertisseurs PDF pour trouver la meilleure adaptation à vos besoins de génération PDF.

Alternatives Gratuites et Open Source

Certains outils qui pourraient être pris en compte :

  • PuppeteerSharp : un port .NET sous licence MIT de Puppeteer qui pilote Chrome en mode headless.
  • Playwright for .NET : la bibliothèque d'automatisation Apache-2.0 de Microsoft, également basée sur Chromium.
  • wkhtmltopdf : un binaire HTML-to-PDF autonome de longue date.
  • Routes de navigateur natif : imprimer en PDF directement depuis un navigateur en mode headless ou un driver d'impression OS.

Une distinction à faire d'abord : PuppeteerSharp et Playwright sont des frameworks d'automatisation de navigateur plutôt que des bibliothèques PDF. Ils exposent un appel d'impression vers PDF par-dessus un Chromium réel, donc la fidélité de rendu est excellente, mais les spécificités PDF comme les en-têtes et pieds de page, le cryptage, les signatures, et PDF/A, ainsi que le cycle de vie du navigateur, sont laissés à vous : expédition et mise à jour du binaire Chromium, gestion de la concurrence et récupération après crash, et construction de la structure du document à la main. Playwright ajoute une contrainte importante à connaître dès le départ : son PdfAsync fonctionne uniquement dans Chromium sans tête (pas Firefox ou WebKit), donc les déploiements doivent garantir un Chrome sans tête, ce qui est important dans les conteneurs et sans serveur.

wkhtmltopdf est à nouveau différent. Le projet a été archivé en 2024, et sa dernière version (0.12.6, 2020) exécute un moteur Qt WebKit ~2012 ne recevant plus de correctifs de sécurité, y compris un avis SSRF critique non corrigé (CVE-2022-35583) ; il reste utilisable pour des documents statiques simples sur des entrées de confiance, mais moins pour une sortie face au public. Les routes de navigateur natif n'ont besoin d'aucune bibliothèque du tout, au prix d'une API PDF native en .NET ou d'un véritable contrôle sur l'automatisation côté serveur.

Pour les prototypes, outils internes, et travaux à budget zéro, ce sont des choix légitimes. La comparaison ci-dessous couvre les bibliothèques commerciales, fonction par fonction.

Matrice de décision rapide : IronPDF par rapport à d'autres convertisseurs PDF .NET

SolutionQuand utiliserMeilleur pour
IronPDFConvertir des sites web modernes/HTML en PDF avec une fidélité visuelle exacte.Applications d'entreprise nécessitant un moteur de rendu HTML fiable, un contenu dynamique et une assistance professionnelle.
wkhtmltopdfConversion HTML simple dans les applications non critiques où un rendu obsolète est acceptable.Génération de documents de base avec les anciens HTML/CSS.
SyncfusionLorsque déjà investi dans l'écosystème Syncfusion ou éligible à la licence communautaire gratuite.Organisations utilisant plusieurs composants Syncfusion.
Aspose.PDFManipulation complexe de fichiers PDF lorsque la qualité du rendu HTML est moins critique.Fonctionnalités d'édition PDF étendues au-delà de la conversion HTML.

COMPARAISONS RELIÉES :

Comparaison détaillée : IronPDF par rapport à d'autres convertisseurs PDF .NET

Show the full feature-by-feature table (10 .NET PDF libraries)
Caractéristique★ Recommandé: IronPDFwkhtmltopdfiTextAspose.PDFSyncfusionApryseSelectPdfSpire.PDFPDFSharpQuestPDF
Rendu et conversion
Précision du renduPixel-Perfect MeilleurStyle d'impressionProgrammatique uniquementBienBienBienBienNiveau basAucun renduMise en page axée sur le code
Prise en charge HTML5CompletDépasséAjouter surPartielCompletModuleCompletLimitéNonNon (Code-First)
Prise en charge CSS3CompletLimitéAjouter surPartielCompletModuleCompletLimitéNonNon (Code-First)
Exécution de JavaScriptMeilleurchoixNonNonContestéLimitéLimitéLimitéTrès limitéNonNon
HTML→PDF (Mise en page moderne)Meilleur Chromium intégréQt WebKit (Obsolète)Module complémentaire payantPartiel; JS ContestéMoteur clignotantModule requisHTML complet → PDFBasé sur l'imageNonCe n'est pas un moteur de rendu HTML
PDF → Rendu d'imageOuiNonOuiOuiOuiOuiNonLimitéNonDocuments personnels uniquement
Opérations documentaires
Générer des PDF par programmationOuiNonOuiOuiOuiOuiHTML uniquementOuiBasiqueOui (API Fluent)
Fusionner, diviser et réorganiserOuiNonOuiOuiOuiOuiOuiOuiLimitéOui
En-têtes / Pieds de page / Numéros de pageHTML/Texte/Image MeilleurLimitéeOuiVia ÉvénementsVia ÉvénementsOuiModèlesManuelManuel uniquementMachines à sous de première classe
Filigranes et estampagesTexte et imageNonOuiOuiOuiOuiOuiLimitéNonOui (Superpositions)
Extraire du texte des PDFsOuiNonOuiOuiOuiOuiOuiOuiBasiqueNon
OCR pour les PDF numérisésVia IronOCR intégréNonAjouter surProduit séparéAjouter surAjouter surNonsolution de contournementNonNon
Sécurité et conformité
Signatures numériquesOuiNonOuiOuiOuiExemple de codeOuiNonNonNon documenté
Conformité PDF/AOui (PDF/A-3B)NonPDF complet/AValider et créerNécessite le SDK natifConformité PDFANonOuiLimitéPDF/A-2x et 3x
Expérience de plateforme et de développeur
MultiplateformeWindows · Linux · macOS Les 3Dépend des binairesNorme .NET 2.0Configuration supplémentaire LinuxBlink + Serveur .NETSDK natifUniquement pour Windows *Documentation Linux limitéeAxé sur WindowsWindows/Linux/macOS
Déploiement dans le cloud et DockerAzure · AWS · Docker MeilleurComplexe ; HéritagePlusieurs forfaitsPartiel ; ConteneursExtras Blink nécessairesDépendances nativesCompatible uniquement avec WindowsInformations limitéesSimple ; légerDocker/K8s ; Local
Assistance et documentation
DocumentationMeilleur copier-coller étenduDocumentation partielle de l'interface de ligne de commandeVaste ; KBLarge ; GitHubCentre d'aideCatalogue multilingueGuides de démarrageGuide du programmeGuides communautairesApplication structurée + compagnon
Support des développeursIngénieurs disponibles 24h/24 et 7j/7Communauté uniquementAbonnement inclusForum + Payant24/5 Direct-TracCommercialEmailForum + CourrielCommunauté uniquementCommunauté + GitHub
Licences et tarification
Modèle de licencePerpétuelSource libreAGPL / AbonnementPerpétuelAbonnement annuelDouanes / ConsommationPerpétuelPerpétuelGratuit (MIT)Niveaux gratuits et payants du MIT
Prix ​​initial$999Perpétuelle · 1 développeur style="color:#16a34a">Gratuit~45 000 $/anDevis personnalisé1 175 $+par développeurDevis personnaliséGratuit <M (Communauté)~9 000 $+/anDevis personnalisé499 $+Licence perpétuelle9Licence perpétuelle · 1an de mises à jour style="color:#16a34a">GratuitCommunauté style="color:#16a34a">libreMIT < 1 million de dollars
Essai gratuit30 jours · Fonctionnalités complètes , sans limitesN/A (Gratuit)30 joursOui (avec filigrane)Community <$1M RevOuiCommunauté (5 pages)Gratuit (10 pages)N/A (Gratuit)N/A (MIT Free <$1M)
Transparence des prixPublié et clair MeilleurOpen SourceAGPL complexePlusieurs niveauxContactez-nous pour un devisPrix ​​non publiéPubliéPubliéMIT ; Aucune restrictionMIT ; Basé sur la confiance

Comparaison de conversion HTML en PDF dans la vie réelle : rendu de la page d'accueil de Reddit

Pour évaluer la qualité du PDF de sortie, nous avons testé ces bibliothèques avec la page d'accueil de Reddit contenant du contenu web dynamique, des CSS modernes, et des éléments HTML JavaScript. Cette page sert de cas de test idéal pour la génération de PDF.

https://www.reddit.com/

Capture d'écran de la page d'accueil de Reddit montrant un contenu dynamique, un style moderne et des éléments interactifs utilisés pour le test de conversion PDF

IronPDF

Résultat de la conversion IronPDF montrant un rendu pixel-parfait de la page d'accueil de Reddit avec tout le contenu dynamique, le style et les éléments interactifs préservés

IronPDF fournit des résultats parfaits, préservant tout le contenu web dynamique, le style des polices modernes et les éléments interactifs exactement comme affichés dans Chrome, le tout en seulement quelques lignes de code.

Syncfusion

Conversion Syncfusion PDF montrant un rendu partiel avec des sections manquantes et un style incomplet de la page d'accueil de Reddit

Syncfusion a rendu le PDF avec la plupart des sections et des styles manquants, en particulier le contenu dynamique. Initialement bloqué par la sécurité de Reddit. Obtenir de meilleurs résultats nécessite un réglage approfondi de la ligne de commande, mais la sortie reste incomplète.

Aspose.PDF

Tentative de conversion Aspose.PDF montrant une capture de contenu minimale avec la plupart des éléments de page manquants sur la page d'accueil de Reddit

Aspose.PDF a nécessité un téléchargement manuel de l'HTML d'abord (pas de support direct d'URL). Après conversion, la sortie manquait de mise en forme correcte et manquait pratiquement toutes les sections de contenu, ce qui la rendait inadaptée pour le web moderne avec du contenu dynamique.

wkhtmltopdf

Sortie wkhtmltopdf affichant une version statique et non stylisée de la page d'accueil de Reddit sans éléments dynamiques ni CSS moderne

wkhtmltopdf a terminé rapidement mais a produit une page simple et statique manquant de contenu critique comme les mises à jour en direct, les éléments dynamiques, et les sections interactives. Ceci démontre l'incompatibilité de wkhtmltopdf avec les sites modernes pilotés par JavaScript.

Conclusion sur la performance et la qualité de sortie PDF

Pour les développeurs .NET ayant besoin d'un convertisseur HTML en PDF fiable, IronPDF se démarque avec un code minimal, des API faciles à utiliser, et des améliorations fréquentes du produit.

Dans un test réel sur du contenu web, il a fourni les résultats les plus rapides et les plus précis tandis que Syncfusion était à la traîne, Aspose nécessitait des étapes supplémentaires, et wkhtmltopdf manquait de style moderne. IronPDF offre le meilleur équilibre entre vitesse, précision et simplicité pour les flux de travail de conversion HTML en PDF d'aujourd'hui.

Veuillez noter: Aspose, Syncfusion et wkhtmltopdf sont des marques commerciales de leurs propriétaires respectifs. Ce site n'est pas affilié ou approuvé par eux. Tous les noms, logos et marques appartiennent à leurs propriétaires, et les comparaisons sont basées sur les informations publiquement disponibles au moment de l'écriture.

Résumé

Ce guide a couvert tout ce qu'il fallait pour convertir HTML en PDF dans .NET : de la conversion de chaîne de base aux fonctionnalités avancées comme le traitement asynchrone, les signatures numériques, et la génération par lot. Nous avons démontré trois méthodes de conversion, des configurations essentielles, des fonctionnalités avancées et des paramètres de sécurité, et comparé IronPDF avec d'autres bibliothèques à travers des tests réels de génération de documents dynamiques.

Tandis que les concurrents ont eu des difficultés avec les sites modernes ou ont nécessité des solutions complexes, IronPDF a fourni des résultats impeccables avec un code minimal et un moteur de rendu puissant.

Prêt à simplifier votre flux de travail PDF et à expérimenter une génération de PDF polyvalente en seulement quelques lignes de code ? Installez IronPDF via le Emballer Manager NuGet (ou sélectionnez Gérer NuGet Emballer dans Visual Studio) et convertissez votre premier HTML en PDF aujourd'hui.

Commencez votre essai gratuit de 30 jours pour des tests de production sans filigranes. Licences flexibles commencent à $999 avec un tarif transparent pour les équipes qui s'adapte à vos besoins.

Voir les licences IronPDF

6. Dépannage & Support technique

Avez-vous des difficultés avec les erreurs suivantes lors de la conversion HTML en PDF ? IronPDF offre un support ingénieur 24/7 via le widget de chat sur https://ironpdf.com/

Solutions rapides aux erreurs courantes

  • Rendu lent au premier? Normal. Chrome s'initialise en 2–3 s, puis accélère.
  • Problèmes de cloud? Utilisez au moins Azure B1 ou équivalent.
  • Ressources manquantes? Définissez des chemins de base ou intégrez sous forme de base64.
  • Éléments manquants? Ajoutez RenderDelay pour l'exécution JavaScript.
  • Mémoire dans le rendu ? Mettez à jour vers la dernière version (v2026.6.1) pour des correctifs dans HTML vers PDF, tampons et en-têtes/pieds de page.
  • Problèmes de champ de formulaire (par exemple, longues zones de texte, cases à cocher)? Corrigé en v2025.7.17 ; assurez-vous que les cases ont des noms uniques.
  • Coupures d'en-tête/pied de page personnalisés ou caractères spéciaux corrompus? Résolu en v2025.8.8 ; testez le retour à la ligne et les métadonnées.

Obtenez de l'aide des ingénieurs qui ont développé IronPDF, 24/7

Prochaines étapes
Comment fusionner ou diviser des documents PDFVoir les guides pratiques
Comment ajouter des en-têtes et des pieds de page personnalisés aux fichiers PDFVoir les guides pratiques
Comment expurger du texte et des régions dans un PDFVoir les guides pratiques

Questions Fréquemment Posées

Comment convertir du HTML en PDF en C# ?

Vous pouvez convertir du HTML en PDF en C# à l'aide d'une bibliothèque de rendu Chrome qui transforme le HTML, le CSS3 et le JavaScript en PDF parfaits au pixel près. Des outils comme IronPDF vous permettent d'effectuer le rendu à partir d'URL, de chaînes HTML ou de fichiers, tout en prenant en charge les en-têtes, l'authentification et les paramètres d'impression.

Quelle est la meilleure bibliothèque HTML vers PDF for .NET ?

La meilleure bibliothèque devrait prendre en charge le rendu précis de Chrome, le déploiement multiplateforme et les fonctionnalités d'entreprise. IronPDF couvre tous ces éléments — fonctionnant sur Windows, Linux, macOS et Docker, avec prise en charge de la sécurité, des signatures, de la conformité et des applications .NET évolutives.

Quelles sont les options gratuites pour convertir HTML en PDF sous .NET ?

Les solutions open-source telles que wkhtmltopdf, PuppeteerSharp et Playwright convertissent HTML en PDF sans coût, mais échangent la commodité contre l'entretien — moteurs de rendu plus anciens, fichiers binaires de navigateur inclus ou configuration manuelle du serveur. IronPDF est commercial, avec un essai gratuit de 30 jours comprenant toutes les fonctionnalités et sans filigranes pendant le développement; les licences de production commencent à 999 $. Voir les tarifs →

Comment puis-je convertir des chaînes HTML en PDF en utilisant C# ?

Pour convertir des chaînes HTML en PDF, utilisez la classe ChromePdfRenderer et sa méthode RenderHtmlAsPdf. Passez votre chaîne HTML à cette méthode, puis enregistrez le PDF en utilisant SaveAs.

Quelles sont les étapes pour convertir une URL de page web en document PDF en C# ?

Vous pouvez convertir directement une URL de page web en PDF en utilisant la méthode RenderUrlAsPdf, qui vous permet de préserver la mise en forme, les images et les éléments interactifs tels que les formulaires et les hyperliens.

Comment convertir un fichier HTML en PDF en C# ?

Utilisez ChromePdfRenderer.RenderHtmlFileAsPdf("path/to/file.html") pour convertir les fichiers HTML locaux en PDF. IronPDF résout automatiquement tous les chemins d'accès relatifs aux ressources (images, CSS, JS).

Comment convertir les Razor Pages ASP.NET ou les vues MVC en PDF ?

IronPDF propose des packages d'extension dédiés — IronPdf.Extensions.Razor pour Razor Pages et IronPdf.Extensions.Mvc.Core pour les vues MVC. Utilisez RenderRazorToPdf ou RenderRazorViewToPdf avec l'injection de dépendances pour convertir directement les vues en PDF depuis vos contrôleurs. Voir le guide Razor →

Comment puis-je m'assurer que le contenu JavaScript est correctement rendu dans le PDF ?

Activez le rendu JavaScript en définissant RenderingOptions.EnableJavaScript = true et ajoutez un délai de rendu en utilisant RenderingOptions.WaitFor.RenderDelay pour vous assurer que le contenu dynamique est entièrement chargé avant la conversion. Voir le guide WaitFor →

Pourquoi la sortie de ma conversion HTML en PDF est-elle vide ou manque-t-elle de contenu ?

Un PDF vide ou partiel signifie presque toujours que la page n'avait pas terminé de se rendre visible ou que ses ressources ne se sont pas chargées. Pour le contenu dynamique ou piloté par JavaScript, définissez RenderingOptions.EnableJavaScript = true et ajoutez un WaitFor.RenderDelay (ou WaitFor.HtmlQuerySelector) pour que Chrome termine d'afficher d'abord. Si des images locales, des CSS ou des polices manquent, passez un BaseUrlPath pour que les chemins relatifs soient résolus correctement. Voir le guide WaitFor →

Quelle est la meilleure méthode pour ajouter des en-têtes et pieds de page à un PDF en C# ?

Utilisez la classe TextHeaderFooter pour des en-têtes et pieds de page simples, ou la classe HtmlHeaderFooter pour un contenu HTML plus complexe. Vous pouvez inclure des espaces réservés dynamiques tels que {page}, {total-pages}, et {date} pour une génération automatique de contenu. Voir le guide des en-têtes et pieds de page →

Comment gérer les sauts de page dans la sortie PDF en C# .NET ?

Contrôlez les sauts de page dans vos PDF en utilisant des propriétés CSS telles que page-break-after: always et page-break-inside: avoid dans un bloc CSS de type média d'impression. Voir le guide des sauts de page →

Quelles options sont disponibles pour définir la taille et l'orientation du papier dans les PDFs ?

Définissez la taille du papier en utilisant RenderingOptions.PaperSize (les options incluent A4, Lettre, Légal, etc.) et l'orientation avec RenderingOptions.PaperOrientation pour Portrait ou Paysage. Les tailles personnalisées en millimètres ou en pouces sont également prises en charge. Voir le guide des tailles de papier →

Puis-je convertir des pages Web authentifiées en PDF ?

Oui. IronPDF prend en charge les cookies, les en-têtes HTTP personnalisés, et l'authentification basée sur les formulaires. Définissez les cookies via ChromePdfRenderer.RenderingOptions.CustomCookies, ou passez des en-têtes d'authentification pour l'authentification basée sur des jetons. L'authentification Windows NTLM et Kerberos est également prise en charge. Voir le guide des cookies →

Puis-je créer plusieurs PDFs à partir d'un seul modèle HTML en C# ?

Oui, créez des modèles HTML avec des espaces réservés, puis utilisez la substitution de chaînes ou des bibliothèques de templating comme Handlebars.NET. Remplacez les espaces réservés par des valeurs réelles dans vos données bouclées, et générez des PDFs en utilisant RenderHtmlAsPdf.

Est-il possible de sécuriser mes PDFs générés avec un mot de passe ?

Oui, vous pouvez utiliser la propriété SecuritySettings pour définir des mots de passe utilisateur et propriétaire, configurer des permissions comme l'impression et la copie, et appliquer le cryptage AES256 avec SecuritySettings.EncryptionAlgorithm. Voir le guide de cryptage →

Puis-je générer des documents conformes à PDF/A à partir de HTML ?

Oui. IronPDF prend en charge les normes PDF/A-1b, PDF/A-2b, PDF/A-3b et PDF/UA pour la conformité d'archivage et d'accessibilité, que la plupart des convertisseurs HTML en PDF ne proposent pas. Voir le guide PDF/A →

Comment puis-je optimiser les performances pour la génération d'un grand volume de PDFs ?

Optimisez les performances en utilisant des méthodes asynchrones comme RenderHtmlAsPdfAsync pour des opérations non bloquantes. Réutilisez les instances ChromePdfRenderer, traitez plusieurs PDF simultanément en utilisant Task.WhenAll, et assurez-vous que vous avez des ressources serveur adéquates sur un système 64 bits. Voir le guide async →

Comment puis-je fusionner plusieurs PDFs ou inclure une page de garde dans mon document ?

Utilisez la méthode statique PdfDocument.Merge pour combiner plusieurs PDF. Générez votre page de couverture séparément et fusionnez-la avec votre document principal pour créer un PDF complet. Voir le guide de fusion →

Puis-je déployer IronPDF sur Azure, AWS, ou Docker ?

Oui. IronPDF fonctionne sur Azure App Service, Azure Functions, AWS Lambda, et les conteneurs Docker sur Linux. Des guides de configuration dédiés et des images Docker sont disponibles pour chaque plateforme. Voir le guide Azure → · Voir le guide AWS → · Voir le guide Docker →

Compatibilité .NET 10 : IronPDF prend-il immédiatement en charge .NET 10 ?

Oui — IronPDF est entièrement compatible avec .NET 10. Selon les notes de version d'IronPDF, la bibliothèque est prête dès le premier jour pour les projets .NET 10, sans configuration supplémentaire. Que vous utilisiez des applications web, console, desktop, ou microservices, IronPDF fonctionne "prêt à l'emploi" avec .NET 10.

IronPDF est-il gratuit ?

IronPDF offre un essai gratuit de 30 jours avec toutes les fonctionnalités et sans filigranes en développement. L'utilisation en production nécessite une licence commerciale à partir de 999 $. Les formules Lite, Plus, Professional et Enterprise sont disponibles. Voir les tarifs →

Comment la qualité de rendu de cette bibliothèque se compare-t-elle à d'autres options comme wkhtmltopdf ?

Cette bibliothèque utilise un moteur de rendu Chrome moderne pour des PDFs parfaits au pixel près, contrairement au moteur WebKit obsolète de wkhtmltopdf. Elle ne nécessite pas d'exécutables serveur, prend en charge JavaScript/CSS3 complet, bénéficie de mises à jour régulières et offre un support professionnel.

Pourquoi devrais-je choisir cette bibliothèque plutôt que PDFSharp pour la conversion HTML en PDF ?

PDFSharp manque de conversion HTML en PDF intégrée, nécessitant des solutions complexes. Cette bibliothèque offre une conversion directe HTML/URL/fichier avec une API de haut niveau, la prise en charge des technologies web modernes, et des mises à jour régulières avec un support professionnel. Voir la comparaison PDFSharp →

Qu'est-ce qui fait de ce choix une meilleure option qu'iTextSharp pour la conversion HTML ?

La version gratuite d'iTextSharp ne prend pas en charge la conversion native de HTML en PDF et possède une API bas niveau complexe. Cette bibliothèque offre une conversion HTML fluide avec une API intuitive, une prise en charge complète de CSS3/JavaScript, et aucune restriction de licence AGPL. Voir la comparaison iTextSharp →

Comment la qualité de rendu de cette bibliothèque se compare-t-elle à Aspose.PDF ?

Cette bibliothèque produit des PDF de qualité Chrome pixel perfect, alors qu'Aspose.PDF manque souvent de style et de contenu dynamique. Aspose nécessite des téléchargements HTML manuels pour la conversion d'URL, mais cette bibliothèque convertit directement les URLs avec une précision supérieure. Voir la comparaison Aspose →

Pourquoi pourrais-je choisir cette bibliothèque plutôt que Syncfusion PDF ?

Bien que Syncfusion soit capable, le moteur optimisé Chrome de cette bibliothèque fonctionne plus rapidement et gère plus efficacement le contenu dynamique. Elle offre une API plus simple et des fonctions supplémentaires comme la génération OCR et de code-barres. Voir la comparaison Syncfusion →

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 20,878,335Version :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.

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

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

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