Comment convertir les vues Razor en PDF de manière transparente ?
Le terme "headless rendering" (rendu sans tête) fait référence au processus de rendu du contenu web sans interface utilisateur graphique (GUI) ou la fenêtre du navigateur. Alors que la IronPDF.Extensions.Razor est très utile, il n'offre pas de capacités de rendu sans tête. Le rendu sans tête peut combler le manque de cas d'utilisation que le package IronPDF.Extensions.Razor ne peut pas combler.
Nous utiliserons le Razor.Templating.Core paquet pour convertir de cshtml (Points de vue sur les rasoirs) en html, puis utiliser IronPDF pour générer des documents PDF à partir de ce format.
Cet article est inspiré de la vidéo YouTube suivante :
Comment convertir les vues Razor en PDF de manière transparente ?
- Téléchargez la bibliothèque C# pour convertir les vues Razor en PDF dans l'application Web ASP.NET Core
- Créez une nouvelle vue Razor et modifiez le fichier pour afficher les données
- Utiliser le
RenderAsync
pour convertir Razor View en HTML - Convertir HTML en PDF à l'aide de la fonction
RenderHtmlAsPdf
méthode - Télécharger l'exemple de projet pour un démarrage rapide
Installer avec NuGet
Install-Package IronPdf
Télécharger DLL
Installation manuelle dans votre projet
Installer avec NuGet
Install-Package IronPdf
Télécharger DLL
Installation manuelle dans votre projet
Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.
Découvrez IronPDF sur NuGet pour une installation rapide et un déploiement facile. Avec plus de 8 millions de téléchargements, il transforme PDF avec C#.
Install-Package IronPdf
Envisagez d'installer le IronPDF DLL directement. Téléchargez et installez-le manuellement pour votre projet ou sous forme de GAC : {{lienDllAfficher}}
Installation manuelle dans votre projet
Télécharger la DLLInstallez le package Razor.Templating.Core pour convertir les vues Razor en documents html dans une application Web ASP.NET Core.
Install-Package Razor.Templating.Core
Rendre les vues Razor en PDF
Vous aurez besoin d'une application Web ASP.NET Core (Modèle-Vue-Contrôleur) pour convertir les vues en fichiers PDF.
Ajouter une vue
- Cliquez avec le bouton droit de la souris sur le dossier "Home". Choisissez "ajouter" et "ajouter une vue"
Créez une vue Razor vide et nommez-la "Data.cshtml".
Modifier le fichier Data.cshtml
Ajoutez la chaîne HTML que vous souhaitez rendre au format 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>
Modifier le fichier Program.cs
Dans le 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 transmet la chaîne HTML retournée à la méthode RenderHtmlAsPdf
. Les utilisateurs peuvent utiliser les Options de rendu pour accéder à une série de fonctionnalités, telles que l'ajout d'options de rendu personnalisées le texte, y compris les en-têtes et pieds de page HTML dans le PDF résultant, en définissant des marges personnalisées et en appliquant des numéros de page.
app.MapGet("/PrintPdf", async () =>
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");
return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});
app.MapGet("/PrintPdf", async () =>
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");
return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});
IRON VB CONVERTER ERROR developers@ironsoftware.com
Modifier les liens de l'actif
Naviguez jusqu'au dossier "Views" -> dossier "Shared" -> fichier "_Layout.cshtml". Dans les balises de lien, remplacez "~/" par "./".
Ceci est important car le "~/" ne fonctionne pas bien avec IronPDF.
Exécuter le projet
Elle vous montrera comment exécuter le projet et générer un document PDF.
Sortie PDF
Télécharger le projet ASP.NET Core MVC
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 qu'application Web ASP.NET Core (Modèle-Vue-Contrôleur) projet.