Я нашел Rotativa как простой способ экспорта в PDF (работает почти отлично, за исключением того, что CSS3, похоже, не поддерживается, возможно, в будущей версии) ... но мне интересно, как обращаться с опцией FileName
.Rotativa PDF export - не удалось отобразить встроенную и иметь имя файла в одно и то же время
Когда я
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
, когда оно будет сохранено оттуда?
Подтверждено, это определенно сработало для меня. Я использовал RouteAsPdf, но результат тот же. Ключевой линией является строка Response.AppendHeader. Ранее я указывал имя файла в вызове RouteAsPdf, но, увидев это, я удалил его и поместил в строку AppendHeader, и он отлично работал. – tjans