Самый простой способ сделать это - создать отдельное действие Print, которое возвращает FileResult PDF, сгенерированного на лету, с библиотекой, подобной iTextSharp
Вы не сможетеполностью используйте форму HTML, как в документе PDF, поскольку вы не хотите использовать текстовые поля, но вы можете создать представление HTML, соответствующее вашему PDF, и затем использовать iTextSharp, чтобы сохранить этот HTML как PDF.
В качестве альтернативы, вы можете использовать библиотеку iTextSharp для создания PDF с нуля и иметь гораздо больший контроль, но это может быть немного сложнее.
С вашего контроллера самый простой способ вернуть PDF безвторичное окно должно вернуть ваш метод действия:
return File(iTextSharpByteArray, "application/pdf", "nameOfFileUserWillDownload.pdf");