Passer au contenu du pied de page
UTILISATION DE IRONPDF

Comment convertir HTML en PDF en ASP.NET à l'aide de C# avec IronPDF

Dans l'environnement ASP.NET actuel, qui évolue rapidement, vos applications ne peuvent pas se permettre de ralentir lors de la génération de documents cruciaux tels que des factures ou des rapports. Vous avez besoin d'un moyen de convertir facilement HTML en PDF qui garantisse un formatage parfait à chaque fois, sur tous les appareils.

IronPDF est la bibliothèque PDF C# conçue pour relever ce défi. En utilisant un moteur de rendu robuste basé sur Chrome, il transforme votre code HTML dynamique en documents PDF parfaits au pixel près. Nous allons vous guider à travers les étapes simples pour intégrer IronPDF dans votre projet .NET et commencer à enregistrer des PDF de qualité professionnelle directement aujourd'hui.

Comment convertir rapidement HTML en PDF dans ASP.NET Core?

La mise en route de la conversion HTML en PDF dans ASP.NET Core ne nécessite que quelques lignes de code. Commencez par installer le package NuGet Package Manager Console d'IronPDF :

Install-Package IronPdf

Vous souhaitez donc apprendre à convertir du HTML au PDF en ASP.NET à l'aide de C# ? Voici un extrait de code complet qui démontre la conversion d'une chaîne HTML en fichier PDF dans un contrôleur ASP.NET Core MVC pour vous aider à démarrer :

using IronPdf;
using Microsoft.AspNetCore.Mvc;
// your program.cs file
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();
app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
// in your controller file
public class PdfController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        // Convert HTML string to PDF
        string HTML = @"
            <h1>Invoice #2024-001</h1>
            <p>Generated on: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
            <table>
                <tr><th>Item</th><th>Price</th></tr>
                <tr><td>Professional License</td><td>$799</td></tr>
            </table>";
        var PDF = renderer.RenderHtmlAsPdf(html);
        // Return PDF as file download
        return File(pdf.BinaryData, "application/pdf", "invoice.pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
// your program.cs file
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();
app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
// in your controller file
public class PdfController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        // Convert HTML string to PDF
        string HTML = @"
            <h1>Invoice #2024-001</h1>
            <p>Generated on: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
            <table>
                <tr><th>Item</th><th>Price</th></tr>
                <tr><td>Professional License</td><td>$799</td></tr>
            </table>";
        var PDF = renderer.RenderHtmlAsPdf(html);
        // Return PDF as file download
        return File(pdf.BinaryData, "application/pdf", "invoice.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Fichier PDF de sortie

How to Convert HTML to PDF in ASP.NET using C# with IronPDF : Image 1 - Image 1 de 7 liées à Comment convertir HTML en PDF en ASP.NET en utilisant C# avec IronPDF

Ajouter le texte alt de l'image

Ce code crée un contrôleur simple qui génère des documents PDF directement à partir de chaînes HTML. La classe ChromePdfRenderer prend en charge tous les rendus complexes, en veillant à ce que la structure HTML, les styles CSS et même le JavaScript soient correctement restitués dans le PDF final.

Quelles sont les méthodes essentielles pour les différentes sources HTML ?

IronPDF propose trois méthodes principales pour convertir du contenu HTML au format PDF, chacune étant conçue pour des scénarios spécifiques que vous rencontrerez dans le cadre du développement ASP.NET.

Convertir les chaînes HTML de manière dynamique

Lorsque vous travaillez avec du contenu dynamique, comme des rapports basés sur des bases de données, utilisez RenderHtmlAsPdf pour convertir facilement et directement les chaînes HTML :

var renderer = new ChromePdfRenderer();
string htmlContent = BuildDynamicHtml(); // Your method to generate HTML
var PDF = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("dynamic-report.pdf");
var renderer = new ChromePdfRenderer();
string htmlContent = BuildDynamicHtml(); // Your method to generate HTML
var PDF = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("dynamic-report.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PDF en sortie

Comment convertir HTML en PDF en ASP.NET à l'aide de C# avec IronPDF : Image 2 - Chaîne HTML vers sortie PDF

Cette approche est parfaite pour générer des documents PDF à partir de modèles de pages HTML alimentés par des données en temps réel, des soumissions de formulaires ou tout autre contenu HTML généré dynamiquement.

Conversion de fichiers HTML à partir d'un disque

Pour les modèles HTML statiques stockés sous forme de fichiers, utilisez RenderHtmlFileAsPdf pour convertir directement les fichiers HTML :

var renderer = new ChromePdfRenderer();
var PDF = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report-template.html");
pdf.SaveAs("report.pdf");
var renderer = new ChromePdfRenderer();
var PDF = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report-template.html");
pdf.SaveAs("report.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cette méthode traite efficacement les fichiers HTML existants, en résolvant automatiquement les URL relatives pour les styles CSS, les images et les ressources externes.

Conversion des URL en PDF

Pour capturer des pages web entières ou convertir des URL existantes en PDF, utilisez la méthode de conversion d'URL :

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Wait an extra second for JavaScript to load
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
var PDF = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
pdf.SaveAs("webpage.pdf");
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Wait an extra second for JavaScript to load
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
var PDF = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
pdf.SaveAs("webpage.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie

Comment convertir HTML en PDF en ASP.NET à l'aide de C# avec IronPDF : Image 3 - Sortie de l'URL en PDF

Cette puissante fonctionnalité prend en charge un rendu JavaScript complexe, ce qui la rend idéale pour convertir des applications à page unique ou du contenu web chargé dynamiquement à partir d'une URL spécifiée.

Comment traiter les données de formulaire et les requêtes POST?

Le traitement des données de formulaire avant la génération de PDF est courant dans les applications ASP.NET. Voici comment gérer les soumissions de la méthode POST et générer des PDF à partir des données soumises :

[HttpPost]
public IActionResult ProcessFormToPdf(OrderModel model)
{
    var renderer = new ChromePdfRenderer();
    // Build HTML from form data
    string HTML = $@"
        <h2>Order Confirmation</h2>
        <p>Customer: {model.CustomerName}</p>
        <p>Order Date: {model.OrderDate:yyyy-MM-dd}</p>
        <ul>
            {string.Join("", model.Items.Select(i => $"<li>{i.Name} - ${i.Price}</li>"))}
        </ul>
        <p><strong>Total: ${model.Total}</strong></p>";
    var PDF = renderer.RenderHtmlAsPdf(html);
    // Save to server and return download
    var fileName = $"order-{model.OrderId}.pdf";
    return File(pdf.BinaryData, "application/pdf", fileName);
}
[HttpPost]
public IActionResult ProcessFormToPdf(OrderModel model)
{
    var renderer = new ChromePdfRenderer();
    // Build HTML from form data
    string HTML = $@"
        <h2>Order Confirmation</h2>
        <p>Customer: {model.CustomerName}</p>
        <p>Order Date: {model.OrderDate:yyyy-MM-dd}</p>
        <ul>
            {string.Join("", model.Items.Select(i => $"<li>{i.Name} - ${i.Price}</li>"))}
        </ul>
        <p><strong>Total: ${model.Total}</strong></p>";
    var PDF = renderer.RenderHtmlAsPdf(html);
    // Save to server and return download
    var fileName = $"order-{model.OrderId}.pdf";
    return File(pdf.BinaryData, "application/pdf", fileName);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Exemple de vue

How to Convert HTML to PDF in ASP.NET using C# with IronPDF : Image 4 - Exemple d'interface utilisateur

Exemple de sortie

Comment convertir du HTML en PDF en ASP.NET à l'aide de C# avec IronPDF : Image 5 - Exemple de sortie PDF rendue à partir du formulaire

Quelles sont les fonctionnalités avancées qui améliorent la génération de PDF ?

Ajouter des en-têtes, des pieds de page et des filigranes

Les documents PDF professionnels nécessitent souvent des en-têtes, des pieds de page et des filigranes. IronPDF facilite ces ajouts grâce à ses puissantes fonctions d'édition qui font de la manipulation des documents PDF un jeu d'enfant.

var renderer = new ChromePdfRenderer();
// Configure headers and footers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Annual Report 2024</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 20,
    HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
};
// Generate PDF
var PDF = renderer.RenderHtmlAsPdf(htmlContent);
// Add watermark
pdf.ApplyWatermark("<h2 style='color:red;opacity:0.3'>CONFIDENTIAL</h2>",
    30, VerticalAlignment.Middle, HorizontalAlignment.Center);
pdf.SaveAs("report-with-watermark.pdf");
var renderer = new ChromePdfRenderer();
// Configure headers and footers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Annual Report 2024</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 20,
    HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
};
// Generate PDF
var PDF = renderer.RenderHtmlAsPdf(htmlContent);
// Add watermark
pdf.ApplyWatermark("<h2 style='color:red;opacity:0.3'>CONFIDENTIAL</h2>",
    30, VerticalAlignment.Middle, HorizontalAlignment.Center);
pdf.SaveAs("report-with-watermark.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie en filigrane

Comment convertir HTML en PDF en ASP.NET à l'aide de C# avec IronPDF : Image 6 - PDF généré avec filigrane et en-tête/pieds de page ajoutés

Ces fonctionnalités transforment une conversion HTML vers PDF basique en une génération de documents professionnels, parfaite pour les contrats, les rapports et les documents officiels.

Optimisation des CSS et des supports imprimés

Pour vous assurer que votre sortie PDF correspond aux attentes, utilisez les requêtes de média d'impression CSS et les principes de conception réactive :

var renderer = new ChromePdfRenderer();
// Configure CSS media type
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
// Set viewport for responsive designs
renderer.RenderingOptions.ViewPortWidth = 1024;
string HTML = @"
    <style>
        @media print {
            .no-print { display: none; }
            body { font-size: 12pt; }
            .page-break { page-break-after: always; }
        }
        @page {
            size: A4;
            margin: 1cm;
        }
    </style>
    <div class='content'>
        <h1>Professional Report</h1>
        <div class='page-break'></div>
        <h2>Section 2</h2>
    </div>";
var PDF = renderer.RenderHtmlAsPdf(html);
var renderer = new ChromePdfRenderer();
// Configure CSS media type
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
// Set viewport for responsive designs
renderer.RenderingOptions.ViewPortWidth = 1024;
string HTML = @"
    <style>
        @media print {
            .no-print { display: none; }
            body { font-size: 12pt; }
            .page-break { page-break-after: always; }
        }
        @page {
            size: A4;
            margin: 1cm;
        }
    </style>
    <div class='content'>
        <h1>Professional Report</h1>
        <div class='page-break'></div>
        <h2>Section 2</h2>
    </div>";
var PDF = renderer.RenderHtmlAsPdf(html);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PDF en sortie

How to Convert HTML to PDF in ASP.NET using C# with IronPDF : Image 7 - PDF avec formatage CSS personnalisé

L'utilisation de CSS d'impression garantit que vos documents PDF conservent une mise en forme professionnelle tout en masquant les éléments web inutiles tels que les menus de navigation ou les boutons interactifs. Des fonctionnalités telles que le saut de page à l'intérieur peuvent être contrôlées à l'aide de CSS afin de garantir un rendu optimal sur la page en cours.

Pourquoi choisir IronPDF pour la génération de PDF en ASP.NET?

Le moteur de rendu d'IronPDF, basé sur Chrome, garantit une conversion précise de HTML en PDF avec une prise en charge complète des normes web modernes. La bibliothèque gère les JavaScript complexes, les animations CSS3 et les mises en page réactives avec lesquels les autres convertisseurs PDF ont du mal à composer. L'intégration ne nécessite que quelques lignes de code, ce qui la rend idéale pour un développement rapide dans votre projet .NET ou votre application .NET.

La classe ChromePdfRenderer offre une personnalisation étendue grâce à sa propriété RenderingOptions, qui permet de contrôler la taille du papier, les marges, l'exécution JavaScript et les délais de rendu. Cette flexibilité garantit que votre production PDF répond aux spécifications exactes, qu'il s'agisse de générer de simples factures ou des rapports complexes de plusieurs pages.

La bibliothèque gère même le rendu de pages web entières ou de petits extraits HTML avec la même fidélité, sans laisser de fichiers temporaires. Tout cela en fait une option puissante pour votre convertisseur HTML vers PDF.

Conclusion

La conversion de HTML en PDF en ASP.NET C# avec IronPDF rationalise les flux de production de documents tout en conservant une fidélité visuelle parfaite. La simplicité de l'API de la bibliothèque, associée à de puissantes capacités de rendu, en fait la solution idéale pour toute application ASP.NET Core nécessitant la génération de PDF. C'est l'enveloppe .NET idéale pour cette tâche, que vous développiez pour .NET Core, .NET Framework ou que vous construisiez des applications mobiles.

Vous pouvez également l'utiliser en ligne de commande ou directement dans Visual Studio à l'aide de l'explorateur de solutions. Vous utiliserez souvent un modèle comme var client (ou var renderer) et une chaîne url (ou un nom de fichier) dans une méthode comme static async Task Main pour enregistrer par programme un PDF à partir d'un HTML ou d'une url d'entrée directement.

Démarrez votre essai gratuit dès aujourd'hui et transformez votre code HTML en documents PDF professionnels. Pour les déploiements en production, découvrez nos options de licence pour trouver celle qui convient le mieux aux besoins de votre projet.

Questions Fréquemment Posées

Comment convertir du HTML au PDF dans ASP.NET Core ?

Vous pouvez utiliser IronPDF pour convertir du HTML en PDF dans ASP.NET Core. Il fournit une API simple qui garantit une mise en forme parfaite et des résultats professionnels.

Qu'est-ce qui fait qu'IronPDF est adapté à la conversion de HTML en PDF ?

IronPDF est adapté à la conversion de HTML en PDF car il utilise un puissant moteur de rendu Chrome, garantissant des PDF au pixel près qui conservent la mise en page et le style d'origine.

Est-il possible de générer des factures et des rapports à l'aide d'IronPDF for .NET en ASP.NET ?

Oui, IronPDF peut générer des factures et des rapports en convertissant le contenu HTML en PDF formatés avec précision, ce qui en fait un outil idéal pour les applications professionnelles.

IronPDF prend-il en charge le responsive design pour la génération de PDF ?

IronPDF prend en charge le responsive design en rendant avec précision le contenu HTML dans des PDF qui s'adaptent à différents appareils et tailles d'écran.

IronPDF peut-il gérer des contenus HTML complexes?

IronPDF est capable de traiter des contenus HTML complexes, y compris CSS et JavaScript, en veillant à ce que les PDF obtenus correspondent à la conception de la page web d'origine.

Comment IronPDF assure-t-il la rapidité de la génération de PDF ?

IronPDF assure une génération rapide des PDF en s'appuyant sur son moteur de rendu Chrome efficace, qui traite le HTML rapidement et avec précision sans ralentir vos applications ASP.NET.

Quels sont les avantages de l'utilisation d'IronPDF for .NET dans un environnement ASP.NET en constante évolution ?

Dans un environnement ASP.NET en constante évolution, IronPDF offre une conversion HTML vers PDF rapide et fiable, garantissant que vos applications conservent des performances élevées et fournissent des documents de qualité professionnelle.

IronPDF prend-il en charge différents formats de fichiers ?

IronPDF se concentre principalement sur la conversion de HTML en PDF, mais prend également en charge la fusion, la division et l'édition de PDF, offrant ainsi une solution polyvalente pour la gestion de documents.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite