CSHTML to PDF (MVC Core)

This code example demonstrates the process of converting Views into PDFs.

Two packages, IronPdf.Extensions.Mvc.Core and IronPdf, work together to enable the rendering of Views into PDFs. The IronPdf.Extensions.Mvc.Core package serves as an extension to IronPdf, enabling the rendering of Views to PDFs.

Use the RenderRazorViewToPdf method to render Views to PDFs. This method requires an IRazorViewRenderer, the path to the ".cshtml" file, and the data required to display on the ".cshtml" file. Please visit the How to Convert View to PDF in ASP.NET Core MVC how-to article to learn more.

This action also enables you to access the full range of features provided by the RenderingOptions class, such as applying page numbers in PDFs with IronPDF, adding text and HTML headers and footers with IronPDF, and customizing PDF paper size. The resulting PDF document can be further edited or exported as needed.

using IronPdf; using System.IO; public class PdfController : Controller { // This method converts a Razor view to a PDF document public IActionResult GeneratePdfFromView() { // Instantiate a renderer for PDF generation var renderer = new ChromePdfRenderer(); // Define the path to the Razor view (CSHTML file) string viewPath = Path.Combine(Directory.GetCurrentDirectory(), "Views", "Example.cshtml"); // Optional: Define any data model required by the view var model = new YourDataModel(); // Render the Razor view to a PDF using var pdfDocument = renderer.RenderRazorViewToPdf(viewPath, model); // Set the file name for the resulting PDF var fileName = "Example.pdf"; // Send the PDF file as a response to be downloaded return File(pdfDocument.BinaryData, "application/pdf", fileName); } }
using IronPdf; using System.IO; public class PdfController : Controller { // This method converts a Razor view to a PDF document public IActionResult GeneratePdfFromView() { // Instantiate a renderer for PDF generation var renderer = new ChromePdfRenderer(); // Define the path to the Razor view (CSHTML file) string viewPath = Path.Combine(Directory.GetCurrentDirectory(), "Views", "Example.cshtml"); // Optional: Define any data model required by the view var model = new YourDataModel(); // Render the Razor view to a PDF using var pdfDocument = renderer.RenderRazorViewToPdf(viewPath, model); // Set the file name for the resulting PDF var fileName = "Example.pdf"; // Send the PDF file as a response to be downloaded return File(pdfDocument.BinaryData, "application/pdf", fileName); } }
Imports IronPdf Imports System.IO Public Class PdfController	Inherits Controller	' This method converts a Razor view to a PDF document	Public Function GeneratePdfFromView() As IActionResult	' Instantiate a renderer for PDF generation	Dim renderer = New ChromePdfRenderer()	' Define the path to the Razor view (CSHTML file)	Dim viewPath As String = Path.Combine(Directory.GetCurrentDirectory(), "Views", "Example.cshtml")	' Optional: Define any data model required by the view	Dim model = New YourDataModel()	' Render the Razor view to a PDF	Dim pdfDocument = renderer.RenderRazorViewToPdf(viewPath, model)	' Set the file name for the resulting PDF	Dim fileName = "Example.pdf"	' Send the PDF file as a response to be downloaded	Return File(pdfDocument.BinaryData, "application/pdf", fileName)	End Function End Class
$vbLabelText   $csharpLabel