如何以PDF格式下载MVC视图?

时间:2017-07-09 20:22:56

标签: c# visual-studio-2015 asp.net-mvc-5

我目前正在使用Visual Studio 2015进行编码。这是针对学校项目的,我需要以PDF格式下载视图。我尝试使用这里发布的很多方法,但似乎无法让它工作。这是一个简单的视图,从视图中的表中显示信息,我想以PDF格式下载视图。任何简单的建议。

3 个答案:

答案 0 :(得分:0)

如果你的意思是将html转换为pdf,你可以参考下面的帖子

Convert HTML to PDF in .NET

答案 1 :(得分:0)

其实你的问题并不清楚。无论如何,如果你有这个pdf文件,你可以使用Controller Refer this中的FileResult方法实现这个目标

否则,如果你想要那个特定的视图,就像在pdf中一样,可以在你的页面中添加一个Save as PDF按钮,并使该按钮动作与Ctrl + P动作相同,为PDF。

否则,如果您想要其他方式,请查看您的问题并提供正确的要求。

答案 2 :(得分:0)

  

如何将MVC视图下载为PDF?使用Rotativa

  1. 安装NuGet软件包
Install-Package Rotativa -Version 1.7.4-rc
  1. C#MVC
//UserController
public ActionResult Download(string encryptReportId)
{
    //business login to bind this view
    //bind view using this encryptReportId
    return View();
}

public ActionResult DownloadViewAsPDF(string encryptId)
{
    return new Rotativa.ActionAsPdf("Download", new { encryptReportId = encryptReportId }) { FileName = "TestingPdf.pdf" };
}
  1. HTML
//use ajax call for this DownloadViewAsPDF of User Controller
$.ajax({
    url: "/User/DownloadViewAsPDF",
    data: {
        encryptId ': id,//id can be get on download button click event as a parameter
    },
    type: "GET",
    contentType: "application/json;charset=utf-8",
    dataType: "json",
    success: function(result) {
        alert("Report Downloaded as PDF!!");
    },
    error: function(errormessage) {
        alert(errormessage.responseText);
    }
});

我希望这会有所帮助。