Rotativa PDF 导出 - 无法同时显示内联和文件名
Rotativa PDF export - unable to display inline and having a filename at the same time
我发现 Rotativa 是一种导出为 PDF 的简单方法(工作几乎完美,除了 CSS3 似乎不受支持,也许在未来的版本中)......但我想知道如何处理FileName
选项。
当我
return new Rotativa.ViewAsPdf("myViewName", "~/Views/Shared/_PDFLayout.cshtml", myModel)
{
FileName = "myCorrectlyNamed.pdf",
PageSize = ... // plus some more options
};
然后我会myCorrectlyNamed.pdf
下载。当我省略 FileName
选项时,PDF 显示在浏览器中,但是当我从那里保存它时,它只有默认文件名 document.pdf
.
如何在浏览器中生成和显示 pdf 并在从那里保存文件时使用 document.pdf
以外的文件名?
您可以将 Content-Disposition
header 添加到 Response
。使用此 header,您将能够告诉浏览器 显示内联文件 并指定应使用的 名称 当用户尝试保存文件时。
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
};
我发现 Rotativa 是一种导出为 PDF 的简单方法(工作几乎完美,除了 CSS3 似乎不受支持,也许在未来的版本中)......但我想知道如何处理FileName
选项。
当我
return new Rotativa.ViewAsPdf("myViewName", "~/Views/Shared/_PDFLayout.cshtml", myModel)
{
FileName = "myCorrectlyNamed.pdf",
PageSize = ... // plus some more options
};
然后我会myCorrectlyNamed.pdf
下载。当我省略 FileName
选项时,PDF 显示在浏览器中,但是当我从那里保存它时,它只有默认文件名 document.pdf
.
如何在浏览器中生成和显示 pdf 并在从那里保存文件时使用 document.pdf
以外的文件名?
您可以将 Content-Disposition
header 添加到 Response
。使用此 header,您将能够告诉浏览器 显示内联文件 并指定应使用的 名称 当用户尝试保存文件时。
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
};