.net core 使用Rotativa创建PDF文档
一、下载Rotaiva ??? 工具? = >? NuGet包管理器? = >? 管理解决方案的NuGet程序包 ??? 在打开的页面中搜索 Rotativa.AspNetCore 如下图: ??? ??? 选中红框的记录,左边会出现你解决方案中的所有项目,选中要添加的项目点击安装,安装完成后项目后面会出现版本号,如下图: ??? 二、配置Rotaiva ??? 在Startup.cs的Rotaiva方法中添加以下内容:?? RotativaConfiguration.Setup(env); ??? 完整代码如下:?? public void Configure(IApplicationBuilder app,IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); } RotativaConfiguration.Setup(env);//RotativaConfiguration 转PDF 功能 app.UseStaticFiles(); app.UseCookiePolicy(); app.UseMvc(routes => { routes.MapRoute( name: "default",template: "{controller=Home}/{action=Index}/{id?}"); }); } } ? ? 添加PDF转换工具 ? ? 在wwwroot目录下添加Rotativa目录 ,再把wkhtmltoimage.exe和wkhtmltopdf.exe复制进去, ??? 此两个文件在此网站下载:https://github.com/webgio/Rotativa.AspNetCore ??? 如下图: ??? 三、开始建立静态PDF档 ???? 在HomeController 下建立一个Action,如下图: ??? [HttpGet] public IActionResult Pdf() { return new ViewAsPdf("Pdf"); } ??? 然后建立cshtml ??? @{ ViewData["Title"] = "Pdf"; } <h2>Pdf</h2> ??? 启动项目,打印页面,可以看到下载pdf页面,最终PDF如下: ??? 四、建立动态PDF档 ??? 建立Controller?? [HttpGet] public IActionResult PdfDemo() { List<tbl_page> pageList = new List<tbl_page>(); pageList.Add(new tbl_page() ??? 生成cshtml?? @model IEnumerable<NetCoreApiDemo.Model.tbl_page> @{ ViewData["Title"] = "PdfDemo"; } <h2>PdfDemo</h2> <table class="table table-bordered"> <thead> <tr> <th>page_no</th> <th>page_name</th> </tr> </thead> <tbody> @foreach (var item in Model) { <tr> <td>@item.page_no</td> <td>@item.page_name</td> </tr> } </tbody> </table> ??? 最终生成PDF如下: ??? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如何在ASP.NET Web API中获取IpAddress和Us
- ASP.NET:禁用单个aspx页面的身份验证(自定义错误页面)?
- asp.net – 有没有办法隐藏架构或至少从Sql Server Managem
- asp.net-membership – 如何让所有用户都参与角色中的角色?
- 来自asp.net服务器端的确认框
- asp.net-mvc-4 – 如何在MVC4中使用SimpleMembership重置或
- asp.net – 将tracelistener添加到web.config
- asp.net-mvc – 同时发送文件并重定向到新页面的MVC方式是什
- Razor in ASP.NET MVC 3.0
- asp.net – 如何在响应流中将字符串插入到我想要的任何位置