Passer au contenu du pied de page
UTILISATION DE IRONPDF

Comment générer des fichiers PDF dans Dotnet Core

Créer des documents PDF dans des applications .NET Core est une tâche courante pour les développeurs construisant des applications web qui doivent générer des fichiers PDF pour des factures, des rapports et d'autres documents professionnels. IronPDF fournit une bibliothèque PDF puissante qui simplifie la génération de PDF dans ASP.NET Core grâce à son moteur de rendu Chrome, offrant des PDF pixel-parfaits chaque fois. Dans cet article, nous allons voir comment vous pouvez gérer diverses tâches de génération de PDF dans l'environnement .NET.

DotNet Core Générer des fichiers PDF, comment ça marche ?

IronPDF utilise un moteur de rendu WebKit basé sur Google Chrome pour rendre le contenu HTML en fichiers PDF. Cette approche de création de PDF signifie que vous pouvez exploiter votre balisage HTML existant et vos connaissances CSS pour créer des PDF sans avoir à apprendre des capacités complexes de génération de PDF ou à faire face à une courbe d'apprentissage abrupte. La bibliothèque PDF gère la génération automatique de documents PDF à partir de pages web.

L'API fluide de la bibliothèque permet aux développeurs de générer des documents PDF à partir de pages HTML, d'URL ou de chaînes de contenu HTML. Lors de la conversion de HTML en PDF, IronPDF préserve des mises en page complexes, le style CSS, l'exécution JavaScript, et même le contenu web qui repose sur du contenu dynamique. Cela en fait l'outil idéal pour les développeurs .NET qui ont besoin de capacités de conversion PDF riches en fonctionnalités dans leurs applications .NET. La bibliothèque .NET excelle dans la génération de fichiers PDF avec une précision parfaite.

Comment installer IronPDF via le gestionnaire de packages NuGet ?

Commencer avec IronPDF nécessite seulement une installation d'outil en ligne de commande unique via le gestionnaire de packages NuGet. Ouvrez la console du gestionnaire de paquets dans Visual Studio et exécutez la commande suivante :

Install-Package IronPdf

Comment générer des documents PDF à partir de chaînes HTML ?

La façon la plus simple de créer un document PDF est de convertir le contenu HTML directement. Voici un exemple basique "Bonjour le Monde" montrant comment générer des fichiers PDF :

using IronPdf;

// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("hello.pdf");
using IronPdf;

// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("hello.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dans le code ci-dessus, nous avons créé un nouveau document PDF avec seulement quelques lignes de code. La classe ChromePdfRenderer fournit la fonctionnalité de base pour générer des fichiers PDF à partir de HTML. L'objet pdf contient votre document PDF prêt à être enregistré dans un chemin de fichier.

Conversion HTML en PDF avancée

Pour un exemple plus détaillé démontrant les capacités de HTML en PDF, créons un document de facture avec du balisage HTML et un style CSS :

using IronPdf;

var html = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; font-size: 14px; }
        .invoice-header { 
            background-color: #2c3e50; 
            color: white; 
            padding: 20px;
            font-family: 'Helvetica', sans-serif;
        }
        .invoice-details { margin: 20px 0; }
        table { width: 100%; border-collapse: collapse; }
        th, td {
            padding: 12px; 
            text-align: left; 
            border-bottom: 1px solid #ddd;
        }
        .total { 
            font-size: 1.2em; 
            font-weight: bold; 
            text-align: right;
        }
    </style>
</head>
<body>
    <div class='invoice-header'>
        <h1>Invoice #2024-001</h1>
        <p>Date: January 15, 2024</p>
    </div>
    <div class='invoice-details'>
        <h3>Bill To: John Doe</h3>
        <table>
            <tr>
                <th>Item</th>
                <th>Quantity</th>
                <th>Price</th>
            </tr>
            <tr>
                <td>Professional License</td>
                <td>1</td>
                <td>$749</td>
            </tr>
        </table>
        <p class='total'>Total: $749.00</p>
    </div>
</body>
</html>";

var renderer = new ChromePdfRenderer();
// Configure rendering options for the PDF document
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("invoice.pdf");
using IronPdf;

var html = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; font-size: 14px; }
        .invoice-header { 
            background-color: #2c3e50; 
            color: white; 
            padding: 20px;
            font-family: 'Helvetica', sans-serif;
        }
        .invoice-details { margin: 20px 0; }
        table { width: 100%; border-collapse: collapse; }
        th, td {
            padding: 12px; 
            text-align: left; 
            border-bottom: 1px solid #ddd;
        }
        .total { 
            font-size: 1.2em; 
            font-weight: bold; 
            text-align: right;
        }
    </style>
</head>
<body>
    <div class='invoice-header'>
        <h1>Invoice #2024-001</h1>
        <p>Date: January 15, 2024</p>
    </div>
    <div class='invoice-details'>
        <h3>Bill To: John Doe</h3>
        <table>
            <tr>
                <th>Item</th>
                <th>Quantity</th>
                <th>Price</th>
            </tr>
            <tr>
                <td>Professional License</td>
                <td>1</td>
                <td>$749</td>
            </tr>
        </table>
        <p class='total'>Total: $749.00</p>
    </div>
</body>
</html>";

var renderer = new ChromePdfRenderer();
// Configure rendering options for the PDF document
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("invoice.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cet exemple démontre la capacité d'IronPDF à gérer des mises en page complexes avec des styles CSS, y compris les réglages de taille de police et de famille de polices. La bibliothèque PDF traite les balises HTML pour créer des documents PDF qui maintiennent l'apparence exacte de vos pages HTML. Le code ci-dessus montre comment les applications ASP.NET Core peuvent générer une sortie PDF pour les documents professionnels.

Sortie

Comment générer des fichiers PDF dans Dotnet Core : Figure 1 - Fichier PDF de sortie HTML à PDF

Comment convertir des pages web en fichiers PDF ?

IronPDF excelle dans la génération de PDF à partir de pages web en direct. Cette fonctionnalité est particulièrement utile pour les applications web ASP.NET Core qui ont besoin de capturer dynamiquement du contenu web. La bibliothèque PDF peut générer des fichiers PDF à partir de n'importe quelle URL :

using IronPdf;

var renderer = new ChromePdfRenderer();
// Render a webpage URL to PDF
var pdf = renderer.RenderUrlAsPdf("https://example.com");
// Save the PDF document
pdf.SaveAs("webpage.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
// Render a webpage URL to PDF
var pdf = renderer.RenderUrlAsPdf("https://example.com");
// Save the PDF document
pdf.SaveAs("webpage.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

La bibliothèque .NET gère l'exécution JavaScript, les ressources externes et les conceptions réactives automatiquement lors de la génération de fichiers PDF. L'objet renderer fournit l'accès à des fonctionnalités avancées pour personnaliser la conversion des pages web en fichiers PDF.

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.ViewPortWidth = 1920;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Wait for dynamic content

// Render a webpage URL to PDF
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Save the PDF document
pdf.SaveAs("webpage.pdf");
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.ViewPortWidth = 1920;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Wait for dynamic content

// Render a webpage URL to PDF
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Save the PDF document
pdf.SaveAs("webpage.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ces options de personnalisation garantissent que le contenu dynamique se charge complètement avant la conversion en PDF, résultant en des fichiers PDF précis. Le code ci-dessus démontre comment ASP.NET Core peut générer des PDF à partir de pages web avec un rendu parfait.

Comment générer des fichiers PDF dans Dotnet Core : Figure 2 - Page web comparée au PDF rendu à partir de la page web

Comment créer des documents PDF dans des applications web ASP.NET Core ?

Intégrer la génération de PDF dans les applications ASP.NET Core est simple. La bibliothèque PDF fonctionne parfaitement avec les contrôleurs ASP.NET Core pour générer des documents PDF. Voici un exemple de point de terminaison API qui crée des fichiers PDF :

using Microsoft.AspNetCore.Mvc;
using IronPdf;

[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
    [HttpGet("generate-report")]
    public IActionResult GenerateReport()
    {
        var html = @"
            <h1>Monthly Sales Report</h1>
            <p>Generated on: " + DateTime.Now.ToString() + @"</p>
            <table>
                <tr><th>Product</th><th>Sales</th></tr>
                <tr><td>Product A</td><td>$5,000</td></tr>
                <tr><td>Product B</td><td>$3,500</td></tr>
            </table>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);
        // Return PDF file to browser
        return File(pdf.BinaryData, "application/pdf", "output.pdf");
    }
}
using Microsoft.AspNetCore.Mvc;
using IronPdf;

[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
    [HttpGet("generate-report")]
    public IActionResult GenerateReport()
    {
        var html = @"
            <h1>Monthly Sales Report</h1>
            <p>Generated on: " + DateTime.Now.ToString() + @"</p>
            <table>
                <tr><th>Product</th><th>Sales</th></tr>
                <tr><td>Product A</td><td>$5,000</td></tr>
                <tr><td>Product B</td><td>$3,500</td></tr>
            </table>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);
        // Return PDF file to browser
        return File(pdf.BinaryData, "application/pdf", "output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cette action de contrôleur crée un nouveau document et envoie les fichiers PDF directement au navigateur. L'instruction return utilise la gestion intégrée des réponses de fichiers du framework .NET Core. Les applications web ASP.NET Core peuvent facilement générer des PDF pour des rapports, des factures et d'autres documents.

Fichier PDF de sortie

Comment générer des fichiers PDF dans Dotnet Core : Figure 3 - PDF créé dans ASP.NET

Pour les applications MVC, vous pouvez également rendre HTML à partir de vues Razor pour créer un PDF :

[HttpGet]
public async Task<IActionResult> DownloadInvoice(int id)
{
    // Get invoice data from database
    var model = await GetInvoiceData(id);
    // Render Razor view to HTML string
    var html = await RenderViewToString("Invoice", model);
    // Convert HTML to PDF document
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Return PDF file with appropriate file path
    return File(pdf.BinaryData, "application/pdf", $"invoice-{id}.pdf");
}
[HttpGet]
public async Task<IActionResult> DownloadInvoice(int id)
{
    // Get invoice data from database
    var model = await GetInvoiceData(id);
    // Render Razor view to HTML string
    var html = await RenderViewToString("Invoice", model);
    // Convert HTML to PDF document
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Return PDF file with appropriate file path
    return File(pdf.BinaryData, "application/pdf", $"invoice-{id}.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cet exemple de code montre comment ASP.NET Core s'intègre à IronPDF pour générer des documents PDF à partir de modèles Razor. La page rendue à partir de la vue devient un document PDF professionnel.

Conclusion

IronPDF transforme la génération de documents PDF dans .NET Core en un processus simple et efficace. Son moteur de rendu Chrome assure une fidélité parfaite lors de la génération de fichiers PDF à partir de contenu HTML, tandis que l'API intuitive élimine la courbe d'apprentissage typiquement associée à la manipulation de PDF. La bibliothèque PDF fournit une documentation complète et un support activement maintenu pour les développeurs ASP.NET Core.

Que vous créiez des PDF à des fins commerciales ou que vous construisiez des applications web d'entreprise, IronPDF fournit les outils nécessaires pour une création de PDF professionnelle avec des options de licence commerciale disponibles. Les développeurs louent systématiquement la facilité d'utilisation et la qualité de rendu d'IronPDF.

Commencez votre essai gratuit aujourd'hui avec des options de licence conçues pour les équipes de toutes tailles.

Questions Fréquemment Posées

Comment puis-je générer des documents PDF dans .NET Core?

Vous pouvez générer des documents PDF dans .NET Core en utilisant IronPDF, ce qui vous permet de créer des PDFs à partir de HTML, d'URLs et de vues Razor en utilisant son moteur de rendu Chrome avancé.

Quels sont les avantages d'utiliser IronPDF pour la génération de PDF?

IronPDF offre plusieurs avantages, y compris la facilité d'intégration, le support pour le rendu pixel parfait, et la capacité de créer des PDFs à partir de diverses sources comme HTML et URLs, le rendant idéal pour construire des applications web nécessitant la génération de PDF.

IronPDF peut-il gérer des tâches complexes de génération de PDF ?

Oui, IronPDF est conçu pour gérer des tâches complexes de génération de PDF dans l'environnement .NET, fournissant aux développeurs les outils nécessaires pour créer des documents PDF détaillés et précis.

Quel est le rôle du moteur de rendu Chrome dans IronPDF?

Le moteur de rendu Chrome dans IronPDF assure que les PDFs générés sont d'une précision parfaite, maintenant la fidélité du contenu HTML ou web d'origine.

IronPDF est-il adapté pour générer des documents commerciaux comme des factures et des rapports?

Absolument, IronPDF est bien adapté pour générer des documents commerciaux tels que des factures et des rapports, offrant un rendu précis et le support de divers formats de documents.

Quels types d'entrée IronPDF peut-il convertir en PDF?

IronPDF peut convertir des entrées telles que HTML, URLs et vues Razor en documents PDF, offrant une flexibilité dans la création de contenu.

IronPDF prend-il en charge les applications ASP.NET Core?

Oui, IronPDF est entièrement compatible avec les applications ASP.NET Core, permettant aux développeurs d'intégrer sans souci les fonctionnalités de génération de PDF dans leurs projets web.

Quels sont les cas d'utilisation courants d'IronPDF dans les applications web?

Les cas d'utilisation courants d'IronPDF incluent la génération de PDFs pour des factures, des rapports, et tout autre document commercial requis par les applications web.

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