我发现Rotativa是一种轻松导出为PDF的方式(除了CSS3似乎得到支持,可能在将来的版本中几乎完美无缺)...但我想知道如何处理{{1}选项。
当我
FileName
然后我会return new Rotativa.ViewAsPdf("myViewName", "~/Views/Shared/_PDFLayout.cshtml", myModel)
{
FileName = "myCorrectlyNamed.pdf",
PageSize = ... // plus some more options
};
下载。当我省略myCorrectlyNamed.pdf
选项时,PDF会显示在浏览器中,但当我从那里保存时,它只有默认文件名FileName
。
如何在浏览器中生成和显示pdf,并在从那里保存时使用document.pdf
以外的文件名?
答案 0 :(得分:6)
您可以向Content-Disposition
添加Response
标头。使用此标题,您将能够告诉浏览器显示内联文件,并在用户尝试保存文件时指定应该使用的名称。< / p>
Response.AppendHeader("Content-Disposition", new System.Net.Mime.ContentDisposition { Inline = true, FileName = "myCorrectlyNamed.pdf" }.ToString());
return new Rotativa.ViewAsPdf("myViewName", "~/Views/Shared/_PDFLayout.cshtml", myModel)
{
PageSize = ... // plus some more options
};