Comment convertir CSHTML en PDF en utilisant Razor de manière silencieuse en C# | IronPDF

How to Convert Razor Views to PDFs Headlessly

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

Le terme 'rendu sans tête' fait référence au processus de rendu de contenu web sans interface graphique (GUI) ou fenêtre de navigateur. Bien que le package IronPdf.Extensions.Razor soit très utile, il n'offre pas de capacités de rendu sans tête. Le rendu sans tête peut combler le manque d'utilisation que le package IronPdf.Extensions.Razor ne peut pas satisfaire.

Nous utiliserons le package Razor.Templating.Core pour convertir des cshtml (vues Razor) en HTML, puis utiliserons IronPDF pour générer des documents PDF à partir de là.

comme-titre:2(Démarrage rapide : convertir les vues Razor en PDF en secondes)

Transformez facilement les vues Razor en documents PDF avec la conversion sans tête d'IronPDF. Utilisez la méthode IronPdf.HtmlToPdf.StaticRender.RenderHtmlAsPdf pour rendre rapidement votre contenu HTML dérivé des vues Razor en un PDF de qualité professionnelle. Cette approche simplifiée garantit un processus fluide et efficace, parfait pour les développeurs travaillant dans des environnements ASP.NET Core. Découvrez la simplicité et la performance d'IronPDF pour vos besoins documentaires.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    var html = await RazorTemplateEngine.RenderAsync("Views/Template.cshtml", model); 
    new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf(html).SaveAs("output.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Flux de travail minimal (5 étapes)

  1. Téléchargez la bibliothèque C# pour convertir les vues Razor en PDF dans une application Web ASP.NET Core
  2. Créez une nouvelle vue Razor et éditez le fichier pour afficher les données
  3. Utilisez la méthode RenderAsync pour convertir de la vue Razor en HTML
  4. Convertissez le HTML en PDF à l'aide de la méthode RenderHtmlAsPdf
  5. Téléchargez le projet exemple pour un démarrage rapide

Installez le package Razor.Templating.Core pour convertir les vues Razor en documents HTML dans une application Web ASP.NET Core.

# Install the Razor.Templating.Core package using NuGet Package Manager
Install-Package Razor.Templating.Core
# Install the Razor.Templating.Core package using NuGet Package Manager
Install-Package Razor.Templating.Core
SHELL

Rendu des vues Razor en PDF

Vous aurez besoin d'un projet ASP.NET Core Web App (Modèle-Vue-Contrôleur) pour convertir les vues en fichiers PDF.

  • Cliquez avec le bouton droit sur l'action Person nouvellement ajoutée et sélectionnez "Ajouter une vue".

  • Cliquez avec le bouton droit sur le dossier "Home". Choisissez "ajouter" et "Ajouter une vue".
  • Créez une vue Razor vide et nommez-la "Data.cshtml".

Ajouter vue

Modifiez le fichier Data.cshtml

Ajoutez la chaîne HTML que vous souhaitez rendre en PDF :

<table class="table">
    <tr>
        <th>Name</th>
        <th>Title</th>
        <th>Description</th>
    </tr>
    <tr>
        <td>John Doe</td>
        <td>Software Engineer</td>
        <td>Experienced software engineer specializing in web development.</td>
    </tr>
    <tr>
        <td>Alice Smith</td>
        <td>Project Manager</td>
        <td>Seasoned project manager with expertise in agile methodologies.</td>
    </tr>
    <tr>
        <td>Michael Johnson</td>
        <td>Data Analyst</td>
        <td>Skilled data analyst proficient in statistical analysis and data visualization.</td>
    </tr>
</table>
<table class="table">
    <tr>
        <th>Name</th>
        <th>Title</th>
        <th>Description</th>
    </tr>
    <tr>
        <td>John Doe</td>
        <td>Software Engineer</td>
        <td>Experienced software engineer specializing in web development.</td>
    </tr>
    <tr>
        <td>Alice Smith</td>
        <td>Project Manager</td>
        <td>Seasoned project manager with expertise in agile methodologies.</td>
    </tr>
    <tr>
        <td>Michael Johnson</td>
        <td>Data Analyst</td>
        <td>Skilled data analyst proficient in statistical analysis and data visualization.</td>
    </tr>
</table>
HTML

Nous allons enregistrer l'interface IHttpContextAccessor et IRazorViewRenderer au conteneur d'injection de dépendance (DI).

À l'intérieur du fichier "Program.cs", ajoutez le code suivant. Le code ci-dessous utilise la méthode RenderAsync de la bibliothèque Razor.Templating.Core pour convertir les vues Razor en HTML. Deuxièmement, il instancie la classe ChromePdfRenderer et passe la chaîne HTML retournée à la méthode RenderHtmlAsPdf. Les utilisateurs peuvent utiliser RenderingOptions pour accéder à une gamme de fonctionnalités, telles que l'ajout de texte personnalisé, l'inclusion d'en-têtes et de pieds de page HTML dans le PDF résultant, la définition de marges personnalisées et l'application de numéros de page.

app.MapGet("/PrintPdf", async () =>
{
    // Set your IronPDF license key
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

    // Enable detailed logging for troubleshooting
    IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;

    // Render the Razor view to an HTML string
    string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");

    // Create a new instance of ChromePdfRenderer 
    ChromePdfRenderer renderer = new ChromePdfRenderer();

    // Render the HTML string as a PDF document
    PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");

    // Return the PDF file as a response
    return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});
app.MapGet("/PrintPdf", async () =>
{
    // Set your IronPDF license key
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

    // Enable detailed logging for troubleshooting
    IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;

    // Render the Razor view to an HTML string
    string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");

    // Create a new instance of ChromePdfRenderer 
    ChromePdfRenderer renderer = new ChromePdfRenderer();

    // Render the HTML string as a PDF document
    PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");

    // Return the PDF file as a response
    return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});
app.MapGet("/PrintPdf", Async Function()
	' Set your IronPDF license key
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

	' Enable detailed logging for troubleshooting
	IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All

	' Render the Razor view to an HTML string
	Dim html As String = Await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml")

	' Create a new instance of ChromePdfRenderer
	Dim renderer As New ChromePdfRenderer()

	' Render the HTML string as a PDF document
	Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html, "./wwwroot")

	' Return the PDF file as a response
	Return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf")
End Function)
$vbLabelText   $csharpLabel

Changez les liens des ressources

Naviguez vers le dossier "Views" -> dossier "Shared" -> fichier "_Layout.cshtml". Dans les balises de lien, changez "~/" en "./".

C'est important car le "~/" ne fonctionne pas bien avec IronPDF.

Exécutez le projet

Exécuter le projet ASP.NET Core MVC

Exécuter le projet ASP.NET Core MVC

Sortie PDF

Vous pouvez télécharger le code complet de ce guide. Il est fourni sous forme de fichier zippé que vous pouvez ouvrir dans Visual Studio en tant que projet ASP.NET Core Web App (Modèle-Vue-Contrôleur).

Télécharger le projet d'exemple ASP.NET Core MVC

Cliquez ici pour télécharger le projet.

Questions Fréquemment Posées

Comment puis-je convertir des vues Razor en PDF de manière silencieuse ?

Pour convertir des vues Razor en PDF de manière silencieuse, utilisez le package Razor.Templating.Core pour rendre les vues Razor en HTML. Ensuite, utilisez la méthode RenderHtmlAsPdf d'IronPDF pour convertir le HTML en un document PDF.

Qu'est-ce que le rendu silencieux et pourquoi est-il utile ?

Le rendu silencieux est le processus de génération de contenu Web sans interface graphique. Il est utile pour les tâches de rendu côté serveur, telles que la génération de PDF, où une interface graphique est inutile et permet d'économiser des ressources.

Le package IronPdf.Extensions.Razor peut-il être utilisé pour la conversion PDF silencieuse ?

Non, le package IronPdf.Extensions.Razor ne prend pas en charge le rendu silencieux. Utilisez plutôt Razor.Templating.Core pour convertir les vues Razor en HTML, puis IronPDF pour convertir le HTML en PDF.

Quel est le rôle du package Razor.Templating.Core dans la conversion PDF ?

Le package Razor.Templating.Core est utilisé pour convertir les vues Razor en chaînes HTML. Cet HTML peut ensuite être converti en PDF en utilisant la méthode RenderHtmlAsPdf d'IronPDF.

Pourquoi ai-je besoin de modifier le fichier _Layout.cshtml pour la compatibilité avec IronPDF ?

Vous devez changer le '~/‘ dans les balises de lien en './' dans le fichier _Layout.cshtml car IronPDF ne gère pas bien les chemins '~/'. Utiliser './' garantit que les chemins sont correctement résolus lors de la génération du PDF.

Comment puis-je résoudre les problèmes lors de la conversion des vues Razor en PDF ?

Activez la journalisation détaillée dans IronPDF en définissant IronPdf.Logging.Logger.LoggingMode sur IronPdf.Logging.Logger.LoggingModes.All. Cela fournit des journaux informatifs pouvant aider à diagnostiquer et résoudre les problèmes pendant le processus de conversion.

Quelle configuration est nécessaire dans Program.cs pour la conversion PDF de vues Razor ?

Dans votre Program.cs, assurez-vous que l'application Web ASP.NET Core est correctement configurée pour prendre en charge les vues Razor et faites référence aux packages nécessaires comme Razor.Templating.Core et IronPDF pour faciliter le processus de conversion.

Où puis-je trouver un projet d'exemple complet pour la conversion de vue Razor en PDF ?

Un projet d'exemple complet est disponible en téléchargement sur le site Web d'IronPDF. Il inclut toute la configuration nécessaire pour convertir des vues Razor en PDF dans un projet d'application Web ASP.NET Core (Modèle-Vue-Contrôleur).

IronPDF est-il compatible avec .NET 10 lors de la conversion de vues Razor en PDF sans interface graphique ?

Oui. IronPDF prend en charge .NET 10, notamment le package IronPdf.Extensions.Razor, calculé pour le framework cible .NET 10.0, ce qui le rend compatible avec la conversion de vues Razor en PDF sans interface graphique sous .NET 10. ([nuget.org](https://www.nuget.org/packages/IronPdf.Extensions.Razor?utm_source=openai))

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,154,058 | Version : 2025.11 vient de sortir