Rotativa PDF导出 - 无法同时显示内联和文件名

时间:2015-11-17 19:18:05

标签: asp.net-mvc rotativa

我发现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以外的文件名?

1 个答案:

答案 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
};