回答
错误表明您尚未配置rotativa。
像这样配置应用程序:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseStaticFiles();
app.UseMvcWithDefaultRoute();
Rotativa.AspNetCore.RotativaConfiguration.Setup(env);
}
同时添加
wkhtmltopdf.exe
要这样做:
wwwroot
Rotativa
wkhtmltopdf.exe
一旦你做到了,下面的工作就可以了。
public async Task<IActionResult> Index()
{
var pdf = new Rotativa.AspNetCore.ViewAsPdf("Index")
{
FileName = "C:\\Test.pdf",
PageSize = Rotativa.AspNetCore.Options.Size.A4,
PageOrientation = Rotativa.AspNetCore.Options.Orientation.Portrait,
PageHeight = 20,
};
var byteArray = await pdf.BuildFile(ControllerContext);
return File(byteArray, "application/pdf");
}
注意使用
async/await
而不是使用
.Result
.
另请参见: