Passer au contenu du pied de page
UTILISATION DE IRONPDF

.NET Core Créez des fichiers PDF avec IronPDF for .NET

Créer un document PDF par programmation est une approche courante et une exigence fréquente dans les applications web modernes. Que vous construisiez des factures, des rapports ou tout système basé sur des documents, savoir comment créer efficacement des fichiers PDF dans les applications ASP et .NET Core est essentiel. Dans ce tutoriel, nous explorerons les meilleures méthodes pour gérer la tâche de création de fichiers PDF .NET Core en utilisant IronPDF. Il s'agit d'une puissante bibliothèque .NET Core qui simplifie les capacités de génération de PDF. Pour des détails techniques complets, consultez la documentation officielle.

Commencer avec IronPDF

IronPDF est une bibliothèque PDF complète .NET Core qui transforme la création complexe de PDF en opérations simples. Contrairement aux approches traditionnelles qui nécessitent de dessiner manuellement des éléments, IronPDF exploite le balisage HTML et CSS pour générer des fichiers PDF qui répondent précisément à vos exigences de conception.

Pour commencer à créer des PDF dans votre projet de bibliothèque .NET Core, installez le package IronPDF NuGet en utilisant la console du gestionnaire de packages de Visual Studio avec la commande suivante :

Install-Package IronPDF
Install-Package IronPDF
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPDF
$vbLabelText   $csharpLabel

Cette simple installation vous donne accès immédiatement à des capacités robustes de génération de PDF pour vos applications web.

Créer votre premier document PDF

Créons un document PDF simple pour comprendre les bases. L'exemple suivant démontre la génération de PDF avec un contenu formaté :

using IronPdf;
// Create a new ChromePdfRenderer object
var renderer = new ChromePdfRenderer();
// Define HTML content with styling
var HTML = @"
    <html>
        <body style='font-family: Arial; margin: 40px;'>
            <h1>Hello World PDF Document</h1>
            <p>This is your first PDF file created with IronPDF!</p>
        </body>
    </html>";
// Generate PDF from HTML
var PDF = renderer.RenderHtmlAsPdf(html);
// Save the PDF document
pdf.SaveAs("output.pdf");
using IronPdf;
// Create a new ChromePdfRenderer object
var renderer = new ChromePdfRenderer();
// Define HTML content with styling
var HTML = @"
    <html>
        <body style='font-family: Arial; margin: 40px;'>
            <h1>Hello World PDF Document</h1>
            <p>This is your first PDF file created with IronPDF!</p>
        </body>
    </html>";
// Generate PDF from HTML
var PDF = renderer.RenderHtmlAsPdf(html);
// Save the PDF document
pdf.SaveAs("output.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ce code crée un nouvel objet PdfDocument qui créera un nouveau PDF en rendant le contenu HTML. Le ChromePdfRenderer gère la conversion, garantissant que vos documents PDF conservent un formatage cohérent.

Sortie

.NET Core Créer des fichiers PDF avec IronPDF : Image 1 - Premier PDF simple créé avec IronPDF

Conversion de HTML en PDF avec des fonctionnalités avancées

IronPDF excelle à convertir des pages web complexes et du contenu HTML en fichiers PDF professionnels. Le code suivant explore comment créer un nouveau document PDF avec des fonctionnalités plus avancées comme les tableaux, les images et les éléments stylisés :

public void CreateAdvancedPdf()
{
    var renderer = new ChromePdfRenderer();
    // Configure rendering options
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    var HTML = @"
        <html>
        <head>
            <style>
                table { width: 100%; border-collapse: collapse; }
                th, td { padding: 10px; border: 1px solid #ddd; }
                th { background-color: #f2f2f2; }
            </style>
        </head>
        <body>
            <h2>Sales Report</h2>
            <table>
                <tr>
                    <th>Product</th>
                    <th>Quantity</th>
                    <th>Total</th>
                </tr>
                <tr>
                    <td>Software License</td>
                    <td>10</td>
                    <td>$500</td>
               </tr>
            </table>
        </body>
        </html>";
    // Create PDF file
    var PDF = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("report.pdf");
}
public void CreateAdvancedPdf()
{
    var renderer = new ChromePdfRenderer();
    // Configure rendering options
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    var HTML = @"
        <html>
        <head>
            <style>
                table { width: 100%; border-collapse: collapse; }
                th, td { padding: 10px; border: 1px solid #ddd; }
                th { background-color: #f2f2f2; }
            </style>
        </head>
        <body>
            <h2>Sales Report</h2>
            <table>
                <tr>
                    <th>Product</th>
                    <th>Quantity</th>
                    <th>Total</th>
                </tr>
                <tr>
                    <td>Software License</td>
                    <td>10</td>
                    <td>$500</td>
               </tr>
            </table>
        </body>
        </html>";
    // Create PDF file
    var PDF = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("report.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cet exemple montre comment créer des documents PDF avec des tableaux formatés, démontrant la capacité d'IronPDF à gérer des mises en page complexes et le style CSS.

Sortie

.NET Core Créer des fichiers PDF avec IronPDF : Image 2 - PDF avec fonctions avancées

Travailler avec les applications ASP.NET Core

Intégrer la génération de PDF dans les vues ASP.NET Core MVC est simple. Voici un exemple d'implémentation de projet pour générer des PDF à partir d'un contrôleur :

using Microsoft.AspNetCore.Mvc;
using IronPdf;
using System.IO;
public class DocumentController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        // Create HTML content
        var HTML = "<h1>Invoice</h1><p>Thank you for your purchase!</p>";
        // Generate PDF
        var PDF = renderer.RenderHtmlAsPdf(html);
        byte[] pdfBytes = pdf.BinaryData;
    // Return PDF file using the byte array, setting the content type to PDF
    return File(pdfBytes,
            "application/pdf",
            "document.pdf");
       }
    }
}
using Microsoft.AspNetCore.Mvc;
using IronPdf;
using System.IO;
public class DocumentController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        // Create HTML content
        var HTML = "<h1>Invoice</h1><p>Thank you for your purchase!</p>";
        // Generate PDF
        var PDF = renderer.RenderHtmlAsPdf(html);
        byte[] pdfBytes = pdf.BinaryData;
    // Return PDF file using the byte array, setting the content type to PDF
    return File(pdfBytes,
            "application/pdf",
            "document.pdf");
       }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cette méthode de contrôleur génère un document PDF et le renvoie comme un fichier téléchargeable, parfait pour le traitement côté serveur dans les applications web. Vous pourriez également utiliser un nouvel objet MemoryStream pour gérer la création du document PDF.

Sortie

.NET Core Créer des fichiers PDF avec IronPDF : Image 3 - PDF généré avec notre contrôleur ASP.NET

Techniques avancées de génération de PDF

IronPDF prend en charge de nombreuses fonctionnalités avancées pour la création de PDF. Vous pouvez ajouter des en-têtes, pieds de page, numéros de page, et même fusionner plusieurs fichiers PDF :

public void CreatePdfWithHeaderFooter()
{
    var renderer = new ChromePdfRenderer();
    // Add header
    renderer.RenderingOptions.TextHeader = new TextHeaderFooter
    {
        CenterText = "Company Report",
        DrawDividerLine = true
    };
    // Add footer with page numbers
    renderer.RenderingOptions.TextFooter = new TextHeaderFooter
    {
        CenterText = "Page {page} of {total-pages}",
        DrawDividerLine = true
    };
    var HTML = "<h1>Annual Report</h1><p>Content goes here...</p>";
    var PDF = renderer.RenderHtmlAsPdf(html);
    // Save the new document
    pdf.SaveAs("report-with-header.pdf");
}
// Merge multiple PDFs
public void MergePdfFiles()
{
    var renderer = new ChromePdfRenderer();
    var pdf1 = renderer.RenderHtmlAsPdf("<p>First Document</p>");
    var pdf2 = renderer.RenderHtmlAsPdf("<p>Second Document</p>");
    // Merge PDF documents
    var merged = PdfDocument.Merge(pdf1, pdf2);
    merged.SaveAs("merged.pdf");
}
// Example of iterating over something, illustrating 'int i' and 'index'
public void ProcessMultipleFiles(string[] filePaths)
{
    for (int i = 0; i < filePaths.Length; i++)
    {
        // Use 'i' as an index to process each source file
        var source file = filePaths[i];
        Console.WriteLine($"Processing file at index {i}: {source file}");
        // Imagine code here to load or process the file
        // var PDF = PdfDocument.FromFile(sourceFile); // load
    }
}
public void CreatePdfWithHeaderFooter()
{
    var renderer = new ChromePdfRenderer();
    // Add header
    renderer.RenderingOptions.TextHeader = new TextHeaderFooter
    {
        CenterText = "Company Report",
        DrawDividerLine = true
    };
    // Add footer with page numbers
    renderer.RenderingOptions.TextFooter = new TextHeaderFooter
    {
        CenterText = "Page {page} of {total-pages}",
        DrawDividerLine = true
    };
    var HTML = "<h1>Annual Report</h1><p>Content goes here...</p>";
    var PDF = renderer.RenderHtmlAsPdf(html);
    // Save the new document
    pdf.SaveAs("report-with-header.pdf");
}
// Merge multiple PDFs
public void MergePdfFiles()
{
    var renderer = new ChromePdfRenderer();
    var pdf1 = renderer.RenderHtmlAsPdf("<p>First Document</p>");
    var pdf2 = renderer.RenderHtmlAsPdf("<p>Second Document</p>");
    // Merge PDF documents
    var merged = PdfDocument.Merge(pdf1, pdf2);
    merged.SaveAs("merged.pdf");
}
// Example of iterating over something, illustrating 'int i' and 'index'
public void ProcessMultipleFiles(string[] filePaths)
{
    for (int i = 0; i < filePaths.Length; i++)
    {
        // Use 'i' as an index to process each source file
        var source file = filePaths[i];
        Console.WriteLine($"Processing file at index {i}: {source file}");
        // Imagine code here to load or process the file
        // var PDF = PdfDocument.FromFile(sourceFile); // load
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ces exemples démontrent l'ajout de touches professionnelles à vos documents PDF et la combinaison de plusieurs fichiers en un seul document.

Sortie avec en-tête et pied de page personnalisés

.NET Core Créer des fichiers PDF avec IronPDF : Image 4 - PDF créé avec un en-tête et un pied de page simples et personnalisés

Travailler avec les formulaires et le contenu dynamique

IronPDF peut créer des documents PDF interactifs avec des champs de formulaire :

public void CreatePdfWithForm()
{
    var HTML = @"
    <!DOCTYPE html>
    <html>
    <head>
        <title>PDF Test Form</title>
        <style>
            body {
                font-family: Arial, sans-serif;
                margin: 20px;
                background-color: #f4f4f4;
            }
            .form-container {
                width: 400px;
                padding: 20px;
                border: 1px solid #ccc;
                border-radius: 8px;
                background-color: #fff;
                box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
            }
            .form-group {
                margin-bottom: 15px;
            }
            label {
                display: block; /* Make label take up full width */
                margin-bottom: 5px;
                font-weight: bold;
                color: #333;
            }
            input[type='text'], textarea {
                width: 100%;
                padding: 10px;
                border: 1px solid #ddd;
                border-radius: 4px;
                box-sizing: border-box; /* Include padding and border in the element's total width and height */
            }
            textarea {
                height: 100px;
                resize: vertical;
            }
            .checkbox-group {
                display: flex;
                align-items: center;
            }
            .checkbox-group label {
                display: inline;
                font-weight: normal;
                margin-left: 8px;
            }
        </style>
    </head>
    <body>
        <div class='form-container'>
            <h2>Document Generation Test Form</h2>
            <form>
                <div class='form-group'>
                    <label for='fullName'>Full Name:</label>
                </div>
                <div class='form-group'>
                    <label for='comments'>Comments/Feedback:</label>
                    <textarea id='comments' name='comments' placeholder='Type your feedback here...'></textarea>
                </div>
                <div class='form-group checkbox-group'>
                    <label for='agree'>I agree to the terms and conditions.</label>
                </div>
                <button style='padding: 10px 15px; background-color: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer;'>
                    Test Button Rendering
                </button>
            </form>
        </div>
    </body>
    </html>";
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
    var PDF = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("form.pdf");
}
public void CreatePdfWithForm()
{
    var HTML = @"
    <!DOCTYPE html>
    <html>
    <head>
        <title>PDF Test Form</title>
        <style>
            body {
                font-family: Arial, sans-serif;
                margin: 20px;
                background-color: #f4f4f4;
            }
            .form-container {
                width: 400px;
                padding: 20px;
                border: 1px solid #ccc;
                border-radius: 8px;
                background-color: #fff;
                box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
            }
            .form-group {
                margin-bottom: 15px;
            }
            label {
                display: block; /* Make label take up full width */
                margin-bottom: 5px;
                font-weight: bold;
                color: #333;
            }
            input[type='text'], textarea {
                width: 100%;
                padding: 10px;
                border: 1px solid #ddd;
                border-radius: 4px;
                box-sizing: border-box; /* Include padding and border in the element's total width and height */
            }
            textarea {
                height: 100px;
                resize: vertical;
            }
            .checkbox-group {
                display: flex;
                align-items: center;
            }
            .checkbox-group label {
                display: inline;
                font-weight: normal;
                margin-left: 8px;
            }
        </style>
    </head>
    <body>
        <div class='form-container'>
            <h2>Document Generation Test Form</h2>
            <form>
                <div class='form-group'>
                    <label for='fullName'>Full Name:</label>
                </div>
                <div class='form-group'>
                    <label for='comments'>Comments/Feedback:</label>
                    <textarea id='comments' name='comments' placeholder='Type your feedback here...'></textarea>
                </div>
                <div class='form-group checkbox-group'>
                    <label for='agree'>I agree to the terms and conditions.</label>
                </div>
                <button style='padding: 10px 15px; background-color: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer;'>
                    Test Button Rendering
                </button>
            </form>
        </div>
    </body>
    </html>";
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
    var PDF = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("form.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cela crée un PDF interactif avec des champs de formulaire que les utilisateurs peuvent remplir, parfait pour les applications nécessitant une saisie utilisateur. Le code montre également où un lien HTML pourrait être utilisé dans le contenu généré.

Sortie PDF avec formulaire modifiable

.NET Core Créer des fichiers PDF avec IronPDF : Image 5 - PDF avec formulaire à remplir

Meilleures pratiques et gestion des erreurs

Lors de la génération de fichiers PDF en production, implémentez une gestion appropriée des erreurs :

try
{
    var renderer = new ChromePdfRenderer();
    var PDF = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("output.pdf");
}
catch (Exception ex)
{
    // Log error and handle appropriately
    Console.WriteLine($"PDF generation failed: {ex.Message}");
}
try
{
    var renderer = new ChromePdfRenderer();
    var PDF = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("output.pdf");
}
catch (Exception ex)
{
    // Log error and handle appropriately
    Console.WriteLine($"PDF generation failed: {ex.Message}");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Validez toujours les données d'entrée et gérez les exceptions avec soin pour garantir une génération de PDF fiable dans vos applications.

Conclusion

IronPDF transforme la tâche complexe de création d'un fichier PDF dans .NET Core en un processus simple et gérable. De la création de documents de base aux fonctionnalités avancées comme les formulaires, les images et la gestion des pages, cette bibliothèque .NET fournit des outils complets pour générer des documents PDF par programmation. En utilisant une approche commune de conversion HTML, vous pouvez rapidement charger des données et télécharger les fichiers finis.

Que vous construisiez des rapports simples ou des documents complexes sur plusieurs pages, l'API intuitive d'IronPDF et son puissant moteur de rendu en font le choix idéal pour les développeurs .NET. Commencez à créer des fichiers PDF professionnels dans vos applications ASP.NET Core dès aujourd'hui avec l'essai gratuit d'IronPDF.

Prêt à améliorer votre application avec des capacités de génération de PDF ? Commencez avec IronPDF et découvrez à quel point la création de PDF peut être facile.

Questions Fréquemment Posées

Quelle est la fonction principale d'IronPDF dans les applications ASP.NET ?

IronPDF permet aux développeurs de créer des documents PDF sans effort au sein d'applications ASP.NET, rationalisant ainsi des tâches telles que la génération de factures, de rapports et d'autres systèmes basés sur des documents.

Pourquoi la création programmatique de documents PDF est-elle importante dans les applications web modernes ?

La création programmatique de documents PDF est essentielle car elle permet l'automatisation et la génération de contenu dynamique pour les applications qui nécessitent une gestion des documents, telles que les systèmes de facturation et les rapports de données.

Puis-je utiliser IronPDF pour générer des PDF dans des environnements .NET Core ?

Oui, IronPDF est une puissante bibliothèque .NET Core spécialement conçue pour simplifier la génération de PDF, ce qui en fait un choix idéal pour créer des fichiers PDF dans les applications .NET Core.

Quels types de documents puis-je créer à l'aide d'IronPDF for .NET Core ?

Avec IronPDF, vous pouvez créer un large éventail de documents, notamment des factures, des rapports et tout système basé sur des documents qui nécessite une génération PDF efficace.

Où puis-je trouver plus de détails techniques sur l'utilisation d'IronPdf ?

Des détails techniques complets sur l'utilisation d'IronPDF peuvent être trouvés dans la documentation officielle, qui fournit des conseils étape par étape et des astuces pratiques.

Comment IronPDF améliore-t-il les capacités de génération de PDF dans les applications ASP.NET ?

IronPDF améliore les capacités de génération de PDF en fournissant une bibliothèque robuste qui simplifie la création, la manipulation et la gestion des documents PDF directement au sein des applications ASP.NET.

IronPDF est-il adapté à la création de systèmes basés sur des documents dans .NET Core ?

Oui, IronPDF est tout à fait adapté à la construction de systèmes basés sur des documents dans .NET Core, car il offre un moyen transparent de générer et de gérer des PDF de manière programmatique.

Quelles sont les meilleures méthodes pour gérer la création de PDF dans .NET Core à l'aide d'IronPDF ?

Le tutoriel explore diverses méthodes pour gérer la création de PDF, en se concentrant sur l'exploitation des fonctionnalités d'IronPDF pour générer et gérer efficacement des documents PDF dans les environnements .NET Core.

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