最近做项目,需要把用户信息页面打印成pdf导出,在github上发现了一个插件,非常好用。
Rotativa是一个开源的用户MVC页面生成PDF格式文档的dll封装库,我们可以在管理Nuget包中找到并安装它。
安装好之后就可以直接输入一个视图,并生成pdf返回了,具体上代码:
1 return new Rotativa.ActionAsPdf("UserInfo", new { id = id }) { FileName = "User.pdf" };
Rotativa.ActionAsPdf包含几种重载的构造函数:
//传入一个action名称 public ActionAsPdf(string action); //传入action名称,和键值对格式的此action接收的参数 public ActionAsPdf(string action, RouteValueDictionary routeValues); //传入action名称,和object格式的参数 public ActionAsPdf(string action, object routeValues);
构造函数实例化Rotativa.ActionAsPdf类时可以设置一些pdf的生成信息,例如FileName(pdf文件名)、UserName(生成人)、Password(密码)等信息。
wkhtmltopdf 0.9.6手册:http://translate.baiducontent.com/transpage?cb=translateCallback&ie=utf8&source=url&query=http%3A%2F%2Fmadalgo.au.dk%2F~jakobt%2Fwkhtmltoxdoc%2Fwkhtmltopdf-0.9.9-doc.html&from=en&to=zh&token=&monLang=zh