Generate PDF
If we write application in version MVC 5 or less. We can use simple to use library like Rotativa. But what if we have apps on ASP.NET MVC Core. Many library is not compatibile with Core yet. I will show you on example how to deal with it.
Example
First, we need to install wkhtmltopdf. Then in our application we’ll need to use WKWrap.Core library.
public IActionResult DownloadPdf()
{
var htmlContent = "<div>Hi</div>";
var wkhtmltopdf = new FileInfo(@"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe");
var converter = new HtmlToPdfConverter(wkhtmltopdf);
var pdfBytes = converter.ConvertToPdf(htmlContent);
FileResult fileResult = new FileContentResult(pdfBytes, "application/pdf");
fileResult.FileDownloadName = "test.pdf";
return fileResult;
}
Above action will return us file pdf with the inscription “Hi”.
Now we can add function that will convert view in the form of a string.
Here is link to example how to write that RenderingViewToString class.
public async Task<IActionResult> DownloadPdf()
{
var htmlContent = await _viewRenderService.RenderToStringAsync("Home/About", new object());
var wkhtmltopdf = new FileInfo(@"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe");
var converter = new HtmlToPdfConverter(wkhtmltopdf);
var pdfBytes = converter.ConvertToPdf(htmlContent);
FileResult fileResult = new FileContentResult(pdfBytes, "application/pdf");
fileResult.FileDownloadName = "test.pdf";
return fileResult;
}
With this way you can generate any pdf from any view.

Link to project.
Please check the path of wkhtmltopdf.exe on your production host and/or check if IIS has permission for this path.