Passer au contenu du pied de page
UTILISATION DE IRONPDF

Comment convertir du HTML ASP en PDF avec .NET Core et IronPDF

La conversion de HTML dynamique ASP.NET en documents PDF est une exigence fondamentale dans les applications modernes ASP.NET. Que vous génériez des factures, créiez des rapports ou produisiez des fichiers PDF téléchargeables, la capacité de transformer du contenu HTML en documents PDF professionnels est essentielle pour offrir des expériences utilisateur soignées.

IronPDF simplifie ce processus de conversion HTML en PDF en fournissant un moteur de rendu robuste basé sur Chrome qui préserve parfaitement votre mise en forme HTML, vos styles CSS et la fonctionnalité JavaScript dans les documents PDF résultants. Ce tutoriel vous guidera à travers des méthodes efficaces pour convertir du HTML en PDF dans les applications ASP.NET Core en utilisant la bibliothèque IronPDF .

Comment convertir du HTML ASP en PDF avec .NET Core et IronPDF : Image 1 - IronPDF

Pourquoi les développeurs ont-ils besoin de la conversion HTML en PDF ?

Les applications ASP.NET Core génèrent souvent du contenu HTML dynamique que les utilisateurs doivent télécharger, partager ou archiver en fichiers PDF. La conversion HTML en PDF offre plusieurs avantages clés par rapport au simple enregistrement de pages web ou la prise de captures d'écran.

Les documents PDF conservent un formatage cohérent sur tous les appareils et plateformes, garantissant que vos factures ont le même aspect, qu'elles soient vues sur Windows, Mac ou appareils mobiles. Ils sont également idéaux pour les documents existants nécessitant des signatures numériques, des paramètres de sécurité ou une impression professionnelle. La conversion de PDF côté serveur élimine le besoin pour les utilisateurs d'avoir un logiciel spécifique installé et offre un meilleur contrôle sur le résultat final du fichier PDF.

Les cas d'utilisation courants incluent la génération de rapports financiers à partir de données de tableau de bord, la création de factures téléchargeables à partir d'informations de commande, la production de billets et de passes avec des codes QR, et la conversion de soumissions de formulaires en enregistrements permanents. En gérant la conversion HTML ASP en PDF sur le serveur, vous garantissez des résultats cohérents, quel que soit le navigateur ou les capacités de l'appareil de l'utilisateur.

Comment convertir du HTML ASP en PDF avec .NET Core et IronPDF : Image 2 - Fonctionnalités

Comment fonctionne l'installation d'IronPDF ?

Commencer avec IronPDF dans votre projet ASP.NET Core est simple. La bibliothèque prend en charge .NET Core 2.0 et plus, ainsi que .NET 5, 6, 7 et 8, la rendant compatible avec toutes les applications modernes ASP.NET Core pour des tâches de conversion HTML en PDF.

Installation via le gestionnaire de packages NuGet

Le moyen le plus rapide d'ajouter IronPDF à votre projet ASP.NET pour convertir du HTML en PDF est via le gestionnaire de packages NuGet dans Visual Studio. Cliquez avec le bouton droit sur votre projet dans l'Explorateur de solutions, sélectionnez "Gérer les packages NuGet" et recherchez IronPDF. Cliquez sur Installer sur la dernière version pour l'ajouter à votre projet. Pour des instructions d'installation détaillées, consultez le guide d'installation d'IronPDF.

Install-Package IronPdf

Comment convertir du HTML ASP en PDF avec .NET Core et IronPDF : Image 3 - Installation

Ajout des espaces de noms requis

Une fois installé, ajoutez l'espace de noms IronPDF à tout fichier C# où vous travaillerez avec la génération de PDF :

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Cette simple instruction d'importation vous donne accès à toutes les fonctionnalités d'IronPDF, y compris la classe ChromePdfRenderer pour la conversion HTML et diverses options de configuration pour personnaliser votre sortie PDF.

Comment convertir du HTML ASP en PDF avec .NET Core et IronPDF : Image 4 - Conversion de HTML ASP en PDF - IronPDF

Configuration de base

Pour la plupart des applications ASP.NET Core, IronPDF fonctionne immédiatement après l'installation sans configuration supplémentaire. Cependant, vous pouvez définir des options globales dans votre fichier Program.cs ou Startup.cs :

// Optional: Configure IronPDF settings
Installation.TempFolderPath = @"C:\Temp\IronPdf\";
Installation.LinuxAndDockerDependenciesAutoConfig = true;
// Optional: Configure IronPDF settings
Installation.TempFolderPath = @"C:\Temp\IronPdf\";
Installation.LinuxAndDockerDependenciesAutoConfig = true;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ces options de configuration aident à optimiser IronPDF pour votre environnement d'hébergement spécifique, que vous fonctionniez sous Windows, Linux ou dans des conteneurs Docker. Assurez-vous que les fichiers de script et d'application ne résident pas dans le même répertoire pour éviter les conflits.

Comment convertir du HTML ASP en PDF dans .NET Core avec IronPDF : Image 5 - Compatibilité multiplateforme

Comment convertir des chaînes HTML en PDF ?

L'opération la plus fondamentale dans IronPDF est la conversion de chaînes HTML directement en documents PDF. Cette approche est parfaite lorsque vous construisez du contenu HTML dynamiquement dans votre application ASP.NET ou que vous travaillez avec des documents HTML comme modèles.

// Create a PDF converter instance
var renderer = new ChromePdfRenderer();
// Convert HTML string to PDF document
var pdf = renderer.RenderHtmlAsPdf("<h1>Sales Report</h1><p>Generated on: " + DateTime.Now + "</p>");
// Save the resultant PDF document to a file
pdf.SaveAs("report.pdf");
// Create a PDF converter instance
var renderer = new ChromePdfRenderer();
// Convert HTML string to PDF document
var pdf = renderer.RenderHtmlAsPdf("<h1>Sales Report</h1><p>Generated on: " + DateTime.Now + "</p>");
// Save the resultant PDF document to a file
pdf.SaveAs("report.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cet extrait de code crée une nouvelle instance de ChromePdfRenderer, qui utilise le moteur Chromium pour rendre votre contenu HTML. La méthode RenderHtmlAsPdf accepte toute chaîne HTML valide et retourne un objet PdfDocument. Vous pouvez ensuite enregistrer ce fichier PDF sur disque ou le diffuser directement aux utilisateurs sous forme de tableau d'octets. Découvrez plus d'informations sur la classe ChromePdfRenderer et ses fonctionnalités.

Sortie

Comment convertir du HTML ASP en PDF avec .NET Core et IronPDF : Image 6 - Sortie PDF

Travailler avec le CSS et les images

IronPDF prend entièrement en charge le style CSS et peut intégrer des images de diverses sources lorsqu'il convertit du HTML en PDF. Le convertisseur PDF gère les éléments HTML avec une fidélité complète, y compris diverses balises HTML et URL d'image :

var html = @"
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
        .highlight { background-color: #f1c40f; padding: 5px; }
    </style>
    <h1>Monthly Report</h1>
    <p>This HTML document includes <span class='highlight'>highlighted text</span> and styling.</p>
    <img src='data:image/png;base64,iVBORw0KGgoAAAANS...' alt='Logo' />";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
var html = @"
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
        .highlight { background-color: #f1c40f; padding: 5px; }
    </style>
    <h1>Monthly Report</h1>
    <p>This HTML document includes <span class='highlight'>highlighted text</span> and styling.</p>
    <img src='data:image/png;base64,iVBORw0KGgoAAAANS...' alt='Logo' />";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Le moteur de rendu traite les styles en ligne, les fichiers CSS et même les images encodées en base64. Cela garantit que vos pages PDF conservent l'apparence exacte de votre contenu HTML, y compris les fonctionnalités CSS3 modernes comme les mises en page flexbox et grille. La conversion HTML en PDF préserve toutes les balises HTML et leur style sans générer de pages blanches.

Comment convertir des vues ASP.NET Core en PDF ?

Convertir des pages web ou des vues ASP.NET Core entières en PDF est une exigence courante, surtout pour générer des rapports basés sur des documents HTML existants. IronPDF propose plusieurs approches pour ce scénario de conversion HTML en PDF ASP, que vous travailliez avec une seule page ou plusieurs pages.

Conversion des vues de contrôleur

Dans votre contrôleur ASP.NET Core, vous pouvez rendre une vue en HTML puis la convertir en document PDF en utilisant les puissantes capacités de rendu de la bibliothèque PDF d'IronPDF :

[HttpGet]
public async Task<IActionResult> DownloadPdf()
{
    var invoiceModel = new InvoiceModel
    {
        InvoiceNumber = 12345,
        Date = DateTime.Now,
        CustomerName = "Acme Corporation",
        Items = new List<InvoiceItem>
        {
            new InvoiceItem { Description = "Service", Quantity = 1, Price = 100.0 }
        },
        Total = 100.0
    };
    // Render the view to HTML string
    var htmlContent = await RenderViewToString("Invoice", invoiceModel);
    // Convert HTML to PDF
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(htmlContent);
    // Return PDF to browser
    var contentType = "application/pdf";
    var fileName = $"invoice_{DateTime.Now:yyyyMMdd}.pdf";
    return File(pdf.BinaryData, contentType, fileName);
}
private async Task<string> RenderViewToString(string viewName, object model)
{
    ViewData.Model = model;
    using (var writer = new StringWriter())
    {
        var viewResult = viewEngine.FindView(ControllerContext, viewName, false);
        var viewContext = new ViewContext(
            ControllerContext,
            viewResult.View,
            ViewData,
            TempData,
            writer,
            new HtmlHelperOptions()
        );
        await viewResult.View.RenderAsync(viewContext);
        return writer.GetStringBuilder().ToString();
    }
}
[HttpGet]
public async Task<IActionResult> DownloadPdf()
{
    var invoiceModel = new InvoiceModel
    {
        InvoiceNumber = 12345,
        Date = DateTime.Now,
        CustomerName = "Acme Corporation",
        Items = new List<InvoiceItem>
        {
            new InvoiceItem { Description = "Service", Quantity = 1, Price = 100.0 }
        },
        Total = 100.0
    };
    // Render the view to HTML string
    var htmlContent = await RenderViewToString("Invoice", invoiceModel);
    // Convert HTML to PDF
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(htmlContent);
    // Return PDF to browser
    var contentType = "application/pdf";
    var fileName = $"invoice_{DateTime.Now:yyyyMMdd}.pdf";
    return File(pdf.BinaryData, contentType, fileName);
}
private async Task<string> RenderViewToString(string viewName, object model)
{
    ViewData.Model = model;
    using (var writer = new StringWriter())
    {
        var viewResult = viewEngine.FindView(ControllerContext, viewName, false);
        var viewContext = new ViewContext(
            ControllerContext,
            viewResult.View,
            ViewData,
            TempData,
            writer,
            new HtmlHelperOptions()
        );
        await viewResult.View.RenderAsync(viewContext);
        return writer.GetStringBuilder().ToString();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cette approche rend d'abord votre vue Razor en une chaîne HTML, puis la convertit en PDF. Le PDF est renvoyé comme un téléchargement de fichier au navigateur de l'utilisateur avec un nom de fichier approprié. Cela fonctionne sans problème que vous convertissiez un fichier ASPX ou des vues Razor modernes.

Sortie

Comment convertir du HTML ASP en PDF avec .NET Core et IronPDF : Image 7 - Sortie de la vue du contrôleur

Conversion des URL en PDF

Pour les pages web existantes, vous pouvez utiliser IronPDF comme un puissant convertisseur HTML en PDF pour transformer toute URL spécifiée directement en fichiers PDF. Il suffit de fournir une adresse HTTP ou HTTPS comme paramètre URL :

[HttpGet]
public IActionResult GeneratePdfFromUrl()
{
    var renderer = new ChromePdfRenderer();
    // Convert a specified URL to PDF document
    var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
    // Stream the PDF file to the browser
    return File(pdf.BinaryData, "application/pdf", "invoice.pdf");
}
[HttpGet]
public IActionResult GeneratePdfFromUrl()
{
    var renderer = new ChromePdfRenderer();
    // Convert a specified URL to PDF document
    var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
    // Stream the PDF file to the browser
    return File(pdf.BinaryData, "application/pdf", "invoice.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cette méthode est particulièrement utile lorsque vous avez déjà des pages web bien formatées et que vous souhaitez les proposer au format PDF téléchargeable. La bibliothèque .NET gère toutes les ressources externes, y compris les feuilles de style, les scripts et les images, garantissant un rendu HTML complet. Le convertisseur retournera un code de statut HTTP approprié s'il rencontre une URL invalide.

Sortie

Comment convertir du HTML ASP en PDF avec .NET Core et IronPDF : Image 8 - Sortie PDF à partir d'une URL

Gestion de l'authentification

Lors de la conversion de pages authentifiées avec une authentification par formulaire .NET ou d'autres mécanismes de sécurité, vous pouvez passer des cookies ou des en-têtes pour maintenir la même session de compte utilisateur. Cela empêche la redirection vers un écran de connexion pendant la conversion en PDF :

var renderer = new ChromePdfRenderer();
// Set cookies for authenticated requests with user database credentials
renderer.RenderingOptions.CustomCookies.Add("auth_token", Request.Cookies["auth_token"]);
// Convert protected web pages to PDF
var pdf = renderer.RenderUrlAsPdf("https://localhost:5001/secure/report");
var renderer = new ChromePdfRenderer();
// Set cookies for authenticated requests with user database credentials
renderer.RenderingOptions.CustomCookies.Add("auth_token", Request.Cookies["auth_token"]);
// Convert protected web pages to PDF
var pdf = renderer.RenderUrlAsPdf("https://localhost:5001/secure/report");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cela garantit que le contenu HTML protégé peut être converti en fichiers PDF tout en maintenant la sécurité. Le processus de conversion PDF respecte l'authentification de base de votre application et l'authentification par formulaires, empêchant tout accès utilisateur non autorisé aux documents existants sensibles. Vous pouvez également passer des arguments de nom d'utilisateur et de mot de passe lorsque nécessaire pour les scénarios d'authentification de base.

Comment pouvez-vous personnaliser la sortie PDF ?

IronPDF propose de nombreuses options de personnalisation en tant que convertisseur PDF complet pour contrôler comment vos documents PDF sont générés à partir de documents HTML. Ces paramètres vous aident à créer des fichiers PDF professionnels répondant à des exigences spécifiques de mise en page et de formatage.

Configuration de la page et marges

var renderer = new ChromePdfRenderer();
// Set default page size for PDF pages
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
// Control page width and margins for the resultant PDF document
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
var renderer = new ChromePdfRenderer();
// Set default page size for PDF pages
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
// Control page width and margins for the resultant PDF document
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ces paramètres contrôlent la mise en page physique de vos pages PDF, incluant à la fois les pages impaires et paires. Vous pouvez choisir parmi des tailles de papier standard ou définir des dimensions personnalisées, régler l'orientation portrait ou paysage, et ajuster les marges pour correspondre à vos besoins de conception pour plusieurs pages. Le système de modèles graphiques assure une cohérence de style sur les pages impaires suivantes et paires.

Sortie

Comment convertir du HTML ASP en PDF avec .NET Core et IronPDF : Image 9 - Sortie PDF personnalisée

En-têtes et pieds de page

Ajouter des en-têtes et pieds de page cohérents améliore l'apparence professionnelle de vos documents PDF lors de la conversion de documents HTML :

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align: center'>Company Report</div>",
    MaxHeight = 20
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align: center'>Page {page} of {total-pages}</div>",
    MaxHeight = 20
};
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align: center'>Company Report</div>",
    MaxHeight = 20
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align: center'>Page {page} of {total-pages}</div>",
    MaxHeight = 20
};
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Les en-têtes et pieds de page prennent en charge les éléments HTML et le formatage avec des espaces réservés spéciaux pour les numéros de page, les dates, et d'autres contenus dynamiques sur toutes les pages PDF. Le code suivant démontre comment ajouter des en-têtes professionnels à votre document généré dynamiquement ou à des documents PDF existants.

Quelles sont les meilleures pratiques ?

Pour garantir des performances et une qualité optimales lors de la conversion de HTML en PDF, suivez ces pratiques éprouvées pour une conversion PDF réussie.

Testez toujours votre rendu HTML dans un navigateur d'abord pour vérifier le style et la mise en page avant de générer des fichiers PDF. Utilisez des URL absolues pour les ressources externes autant que possible, car les chemins relatifs peuvent causer des problèmes pendant le processus de conversion HTML en PDF. Pour des pages web complexes avec de nombreux éléments HTML et JavaScript, ajoutez des délais de rendu pour garantir un chargement complet. Envisagez de mettre en œuvre le caching pour les documents PDF fréquemment générés afin de réduire la charge du serveur. Pour plus de bonnes pratiques concernant ASP.NET Core avec cette bibliothèque .NET, reportez-vous à la documentation officielle de Microsoft .

Lors du déploiement en production, configurez des chemins de dossiers temporaires appropriés et assurez-vous que votre environnement d'hébergement a les dépendances nécessaires installées pour la bibliothèque PDF, en particulier pour les déploiements Linux. Évitez de placer à la fois le script et la logique de conversion dans le même répertoire pour éviter les conflits. Consultez notre guide de dépannage pour les scénarios de déploiement courants avec des documents PDF existants. Validez toujours que l'entrée n'est pas une URL lorsque vous avez l'intention de traiter le contenu HTML direct pour éviter un comportement inattendu.

Conclusion

La conversion ASP HTML en PDF dans les applications ASP.NET Core devient simple avec IronPDF. Le moteur de rendu basé sur Chrome de la bibliothèque garantit une conversion précise tout en offrant de nombreuses options de personnalisation pour la génération de documents professionnels.

Que vous travailliez avec des chaînes HTML, une URL, ou des pages web complètes, IronPDF préserve le formatage exact, la mise en forme CSS, et le comportement JavaScript. Cet outil d'application web basé sur .NET gère efficacement l'ensemble du processus de conversion PDF.

Démarrez votre essai gratuit de 30 jours dès aujourd'hui pour implémenter la génération de PDF professionnels dans vos applications ASP.NET Core. Besoin d'aide pour choisir ? Consulter les options de licence ou réservez une démonstration avec notre équipe.

Comment convertir du HTML ASP en PDF avec .NET Core et IronPDF : Image 10 - Licence

Questions Fréquemment Posées

Quelle est la meilleure façon de convertir du HTML en PDF avec ASP.NET Core ?

La meilleure façon de convertir du HTML en PDF avec ASP.NET Core est d'utiliser IronPDF. Cette solution permet de transformer facilement le contenu HTML et de générer des PDF de haute qualité.

Pourquoi utiliser IronPDF pour convertir du HTML en PDF ?

IronPDF offre des fonctionnalités robustes telles qu'un rendu précis, la prise en charge de CSS et JavaScript, et la capacité de gérer des documents HTML complexes. Il est donc idéal pour générer des PDF de qualité professionnelle à partir d'applications ASP.NET.

IronPDF peut-il gérer le contenu dynamique dans les applications ASP.NET ?

Oui, IronPDF gère efficacement le contenu dynamique dans les applications ASP.NET. Il traite et convertit le contenu HTML dynamique en PDF, ce qui le rend idéal pour la création de factures, de rapports et d'autres documents.

Est-il possible d'inclure des styles CSS dans le PDF généré avec IronPDF ?

Bien sûr, IronPDF prend en charge les styles CSS. Vous pouvez appliquer vos feuilles de style CSS existantes pour que le PDF généré corresponde à la mise en page de votre contenu HTML.

Comment IronPDF prend-il en charge JavaScript lors de la conversion HTML vers PDF ?

IronPDF prend entièrement en charge JavaScript, ce qui vous permet d'inclure des éléments dynamiques et du contenu interactif dans votre code HTML qui seront rendus avec précision dans le PDF final.

Quels sont les cas d'utilisation courants de la conversion de HTML en PDF dans ASP.NET ?

Les cas d'utilisation courants incluent la génération de factures, la création de rapports détaillés, la production de certificats et la mise à disposition de contenu téléchargeable comme des livres électroniques et des brochures directement depuis des applications ASP.NET.

Comment IronPDF garantit-il la qualité du fichier PDF généré ?

IronPDF garantit une sortie PDF de haute qualité en reproduisant fidèlement le contenu HTML, notamment les polices, les images, les tableaux et autres éléments, préservant ainsi la fidélité de la conception originale.

Puis-je automatiser le processus de conversion HTML vers PDF avec IronPDF ?

Oui, IronPDF peut être intégré aux flux de travail d'automatisation des applications ASP.NET, ce qui vous permet d'automatiser la conversion de HTML en PDF dans le cadre des processus de votre application.

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