Comment convertir une vue en PDF dans ASP.NET Core C#

Comment convertir des vues en PDF dans ASP.NET MVC avec C#

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF vous permet de convertir des vues ASP.NET MVC en documents PDF à l'aide de la méthode ChromePdfRenderer.RenderView() avec seulement quelques lignes de code. Le package IronPdf.Extensions.Mvc.Framework permet une intégration transparente aux projets ASP.NET MVC pour le rendu des vues CSHTML sous forme de PDF.

Une vue est un composant du framework ASP.NET utilisé pour générer du balisage HTML dans les applications web. Il fait partie du modèle Modèle-Vue-Contrôleur (MVC), couramment utilisé dans les applications ASP.NET MVC et ASP.NET Core MVC. Les vues sont responsables de la présentation des données à l'utilisateur en rendant dynamiquement le contenu HTML. La puissance du Chrome PDF Rendering Engine d'IronPDF garantit que vos vues sont rendues avec une précision au pixel près, en conservant l'ensemble du style, des mises en page et des éléments interactifs.

ASP.NET Web Application (.NET Framework) MVC est un cadre d'application Web fourni par Microsoft. Il suit un modèle architectural structuré connu sous le nom de Modèle-Vue-Contrôleur (MVC) pour organiser et rationaliser le développement d'applications Web.

  • Modèle : Gère les données, la logique métier et l'intégrité des données.
  • Vue : Présente l'interface utilisateur et affiche les informations.
  • Contrôleur : gère les entrées des utilisateurs, traite les demandes et orchestre les interactions entre le modèle et la vue.

IronPDF simplifie le processus de création de fichiers PDF à partir de vues dans un projet ASP.NET MVC. Cela rend la génération de PDF facile et directe dans ASP.NET MVC. Que vous génériez des factures, des rapports ou n'importe quel document à partir de vos vues web, IronPDF fournit les outils nécessaires à une sortie PDF professionnelle. Pour obtenir un guide d'installation complet, consultez la page Aperçu de l'installation.

Démarrage rapide : Convertir facilement une vue ASP.NET MVC en PDF

Apprenez à convertir rapidement vos vues ASP.NET MVC en documents PDF en utilisant IronPDF. Avec seulement quelques lignes de code, vous pouvez rendre vos vues CSHTML en PDF de haute qualité, améliorant ainsi la fonctionnalité de votre application. IronPDF simplifie le processus, le rendant accessible aux développeurs de tous niveaux. Commencez par intégrer IronPDF dans vos projets ASP.NET Core pour générer facilement des PDF à partir de vos vues.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronPDF avec le gestionnaire de packages NuGet

    PM > Install-Package IronPdf

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

    // Install-Package IronPdf.Extensions.Razor
    var pdf = new IronPdf.ChromePdfRenderer.RenderRazorToPdf(this.ControllerContext);
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPDF dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

De quel pack d'extension ai-je besoin?

Pourquoi IronPDF nécessite-t-il un package d'extension?

Le package IronPdf.Extensions.Mvc.Framework est une extension du package principal IronPdf. Les packages IronPdf.Extensions.Mvc.Framework et IronPdf sont tous deux nécessaires pour rendre les vues vers les documents PDF dans ASP.NET MVC. Cette séparation permet d'optimiser les fonctionnalités spécifiques au cadre MVC tout en conservant les capacités principales de rendu des PDF.

Comment installer le paquet d'extensions ? ```shell :InstallCmd Installer-Package IronPdf.Extensions.Mvc.Framework ```
Bibliothèque C# NuGet pour PDF

Installer avec NuGet

Installer-Package IronPdf.Extensions.Mvc.Framework
## Comment rendre les vues en PDF? ### De quel type de projet ai-je besoin? Pour convertir les vues en fichiers PDF, vous avez besoin d'un projet MVC ASP.NET Web Application (.NET Framework). IronPDF prend en charge diverses versions de MVC et fournit des [options de rendu](https://ironpdf.com/how-to/rendering-options/) étendues pour personnaliser votre sortie PDF en fonction de vos besoins. ## Comment ajouter une classe de modèle? ### Où dois-je créer le modèle? - Accédez au dossier "Models - Créez un nouveau fichier de classe C# nommé "Personne" Cette classe sert de modèle pour représenter les données individuelles. Utilisez le code suivant : ```cs :path=/static-assets/pdf/content-code-examples/how-to/cshtml-to-pdf-mvc-framework-model.cs ``` ## Comment modifier le contrôleur? ### Quel code dois-je ajouter au contrôleur? Naviguez jusqu'au dossier "Controllers" et ouvrez le fichier "HomeController". Ajoutez l'action "Personnes" en utilisant le code suivant : Dans le code fourni, la classe **ChromePdfRenderer** est d'abord créée. Pour utiliser la méthode `RenderView`, fournissez-lui un HttpContext, indiquez le chemin d'accès au fichier "Persons.cshtml" et fournissez une `List` contenant les données nécessaires. Lors du rendu de la vue, vous pouvez utiliser **RenderingOptions** pour personnaliser les marges, ajouter [des en-têtes et pieds de page personnalisés en texte et HTML](/how-to/headers-and-footers/), et appliquer [numéro de page](/how-to/page-numbers/) au document PDF résultant.
Veuillez noterLe document PDF peut être téléchargé sur la machine à l'aide du code suivant : `File(pdf.BinaryData, "application/pdf", "viewToPdfMVC.pdf")`.
```cs using IronPdf; using System.Collections.Generic; using System.Web.Mvc; using ViewToPdfMVCSample.Models; namespace ViewToPdfMVCSample.Controllers { public class HomeController : Controller { public ActionResult Index() { return View(); } // GET: Person public ActionResult Persons() { // Create a list of Person objects var persons = new List { 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") { // Define the path to the View file var viewPath = "~/Views/Home/Persons.cshtml"; // Instantiate the ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render the view to a PDF document PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons); // Set headers to view the PDF in-browser Response.Headers.Add("Content-Disposition", "inline"); // Return the generated PDF file return File(pdf.BinaryData, "application/pdf"); } return View(persons); } public ActionResult About() { ViewBag.Message = "Your application description page."; return View(); } public ActionResult Contact() { ViewBag.Message = "Your contact page."; return View(); } } } ``` ### Comment puis-je personnaliser les options de rendu des PDF? Pour les scénarios plus avancés, vous pouvez personnaliser la sortie PDF à l'aide de diverses options de rendu. Voici un exemple avec des marges personnalisées, un format de papier et d'autres paramètres : ```cs // Advanced rendering with custom options public ActionResult PersonsAdvanced() { var persons = GetPersonsList(); if (HttpContext.Request.HttpMethod == "POST") { var viewPath = "~/Views/Home/Persons.cshtml"; // Configure the renderer with custom options ChromePdfRenderer renderer = new ChromePdfRenderer(); // Set custom rendering options renderer.RenderingOptions.MarginTop = 40; renderer.RenderingOptions.MarginBottom = 40; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; // Set custom paper size renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait; // Add header and footer renderer.RenderingOptions.TextHeader.DrawDividerLine = true; renderer.RenderingOptions.TextHeader.CenterText = "{pdf-title}"; renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica; renderer.RenderingOptions.TextHeader.FontSize = 12; renderer.RenderingOptions.TextFooter.DrawDividerLine = true; renderer.RenderingOptions.TextFooter.Font = IronPdf.Font.FontTypes.Arial; renderer.RenderingOptions.TextFooter.FontSize = 10; renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"; // Enable JavaScript execution if needed renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.RenderDelay = 500; // Wait for JS to execute // Render the view to PDF PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons); // Optional: Apply compression to reduce file size pdf.CompressImages(60); Response.Headers.Add("Content-Disposition", "inline"); return File(pdf.BinaryData, "application/pdf"); } return View("Persons", persons); } ``` Pour plus d'informations sur l'optimisation des marges, consultez notre guide sur [Définir des marges personnalisées](https://ironpdf.com/how-to/custom-margins/). Si vous avez besoin de travailler avec des dimensions de papier spécifiques, consultez notre documentation [Taille de papier personnalisée](https://ironpdf.com/how-to/custom-paper-size/). ### Que puis-je faire avec le PDF généré? Une fois que vous obtenez l'objet **PdfDocument** grâce à la méthode `RenderView`, vous pouvez y apporter diverses améliorations et ajustements. Vous pouvez convertir le PDF aux formats [PDFA](/how-to/pdfa/) ou [PDFUA](/how-to/pdfua/), appliquer [signatures numériques](/how-to/signing/) au PDF créé, ou [fusionner et diviser](/how-to/merge-or-split-pdfs/) des documents PDF selon les besoins. La bibliothèque vous permet de faire pivoter les pages, d'insérer des [annotations](/how-to/annotations/) ou [bookmarks](/how-to/bookmarks/), et [d'appliquer des filigranes distincts](/tutorials/csharp-edit-pdf-complete-tutorial/#add-a-watermark-to-a-pdf) à vos fichiers PDF. Pour l'optimisation de la taille des fichiers, pensez à utiliser les techniques [PDF Compression](https://ironpdf.com/how-to/pdf-compression/). Lorsqu'il s'agit de contenus à forte composante JavaScript, notre [Guide de rendu JavaScript](https://ironpdf.com/how-to/javascript-to-pdf/) fournit des informations détaillées sur la gestion des délais de rendu personnalisés. Pour connaître les différentes options d'exportation, consultez notre guide complet sur [Enregistrer et exporter des documents PDF](https://ironpdf.com/how-to/export-save-pdf-csharp/). ## Comment ajouter une vue?

Quelles sont les étapes à suivre pour créer la vue ? - Cliquez avec le bouton droit de la souris sur l'action Personne nouvellement ajoutée et sélectionnez "Ajouter une vue" [Menu contextuel de Visual Studio affichant l'option 'Add View...' lors d'un clic droit sur la méthode d'action Persons()](/static-assets/pdf/how-to/cshtml-to-pdf-mvc-framework/right-click-on-Persons.webp) - Choisissez "Vue MVC 5" pour le nouvel élément modèle. [Visual Studio Add New Scaffolded Item dialog with MVC 5 View template selected](/static-assets/pdf/how-to/cshtml-to-pdf-mvc-framework/select-scaffold.webp) (en anglais) - Sélectionnez le modèle "Liste" et la classe modèle "Personne". [Dialogue Ajouter une vue dans Visual Studio montrant la configuration de la vue Personnes avec le modèle Liste et la classe de modèle Personne](/static-assets/pdf/how-to/cshtml-to-pdf-mvc-framework/add-view.webp) Cela crée un fichier .cshtml nommé "Persons"

Comment ajouter un bouton d'impression à la vue ? - Naviguez jusqu'au dossier "Views" -> dossier "Home" -> fichier "Persons.cshtml". ## Ajouter une section à la barre de navigation supérieure ```html @using (Html.BeginForm("Persons", "Home", FormMethod.Post)) { } ```

Comment ajouter une section à la barre de navigation supérieure ? ### Où dois-je mettre à jour la navigation? - Dans le dossier "Views", naviguez jusqu'au dossier "Shared" -> fichier "_Layout.cshtml". Placez l'élément de navigation "Personne" après "Accueil" Veillez à ce que les valeurs de la méthode ActionLink correspondent exactement au nom de notre fichier, qui est "Persons" ```html ``` ### Comment exécuter et tester le projet? #### Exécuter le projet Ce document vous montre comment exécuter le projet et générer un document PDF. Visual Studio showing ASP.NET MVC HomeController with Persons action method and PDF generation code #### Sortie PDF ## Où puis-je télécharger le projet complet? ### Qu'est-ce que l'exemple de projet comprend? Vous pouvez télécharger le code complet de ce guide. Il se présente sous la forme d'un fichier zippé que vous pouvez ouvrir dans Visual Studio en tant que projet ASP.NET Web Application (.NET Framework) MVC. L'exemple comprend toutes les configurations, classes de modèle, contrôleurs et vues nécessaires pour vous permettre de démarrer rapidement la génération de PDF dans vos applications MVC. [Téléchargez le projet d'exemple MVC pour la conversion en PDF](/static-assets/pdf/how-to/cshtml-to-pdf-mvc-framework/ViewToPdfMVCSample.zip)

Questions Fréquemment Posées

Comment puis-je convertir des vues CSHTML en PDF dans ASP.NET MVC ?

Vous pouvez convertir des vues CSHTML en PDF dans ASP.NET MVC en utilisant la méthode IronPdfRenderer.RenderView() d'IronPdf. Il suffit d'installer le paquetage IronPdf.Extensions.Mvc.Framework et d'utiliser la méthode de rendu pour transformer vos vues en documents PDF de haute qualité avec seulement quelques lignes de code.

Quel est le code minimal requis pour rendre une vue au format PDF ?

Le code minimal pour rendre une vue au format PDF est le suivant : var pdf = new IronPdf.ChromePdfRenderer.RenderRazorToPdf(this.ControllerContext) ; Cette seule ligne de code utilisant IronPDF convertira votre vue actuelle en un document PDF.

De quel pack d'extension ai-je besoin pour générer des PDF avec ASP.NET MVC ?

Pour les applications ASP.NET MVC, vous avez besoin du package IronPDF.Extensions.Mvc.Framework. Cette extension permet une intégration transparente avec les projets ASP.NET MVC et fonctionne parallèlement au package IronPdf principal pour activer la fonctionnalité de conversion de la vue au format PDF.

Quel est le moteur de rendu utilisé pour convertir les vues en PDF ?

IronPDF utilise le moteur de rendu PDF de Chrome, qui garantit une précision au pixel près lors de la conversion des vues en PDF. Ce moteur conserve tous les styles, mises en page et éléments interactifs de vos vues CSHTML d'origine dans la sortie PDF finale.

Puis-je générer des factures et des rapports à partir de vues MVC ?

Oui, IronPDF est parfait pour générer des factures, des rapports et tout autre document à partir de vos vues MVC. La bibliothèque offre des fonctionnalités de sortie PDF professionnelles, ce qui la rend idéale pour créer des documents commerciaux directement à partir des vues de votre application web.

Quelles sont les étapes de base pour mettre en œuvre la conversion View-to-PDF ?

La mise en œuvre de base comporte 5 étapes : 1) Télécharger et installer la bibliothèque IronPDF, 2) Ajouter une classe de modèle pour vos données, 3) Créer une action de contrôleur en utilisant la méthode RenderView, 4) Ajouter une vue en utilisant MVC 5 View Scaffolding, et 5) Exécuter la conversion en utilisant les méthodes de rendu d'IronPDF.

La sortie PDF conserve-t-elle le style d'affichage d'origine ?

Oui, le moteur de rendu Chrome d'IronPDF garantit que tous les styles CSS, les mises en page et les éléments interactifs de vos vues CSHTML sont préservés dans la sortie PDF. Cela permet d'obtenir une précision au pixel près et de maintenir l'intégrité visuelle de vos vues web originales.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il a une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, documentation et expérience globale.
Prêt à commencer?
Nuget Téléchargements 16,685,821 | Version : 2025.12 vient de sortir