.net core 使用Rotativa创建PDF文档
程序员文章站
2023-10-27 09:14:04
一、下载Rotaiva 工具 = > NuGet包管理器 = > 管理解决方案的NuGet程序包 在打开的页面中搜索 Rotativa.AspNetCore 如下图: 选中红框的记录,左边会出现你解决方案中的所有项目,选中要添加的项目点击安装,安装完成后项目后面会出现版本号,如下图: 二、配置Rot ......
一、下载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()
{ page_name="1", page_no="1" }); pagelist.add(new tbl_page() { page_name = "2", page_no = "2" }); pagelist.add(new tbl_page() { page_name = "3", page_no = "3" }); return new viewaspdf(pagelist); }
生成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如下:
推荐阅读
-
使用.net core3.0 正式版创建Winform程序
-
创建基于ASP.NET core 3.1 的RazorPagesMovie项目(一)-创建和使用默认的模板
-
如何在ASP.NET Core 中快速构建PDF文档
-
.net core 使用Rotativa创建PDF文档
-
ASP.NET Core 2.0集成Office Online Server(OWAS)实现办公文档的在线预览与编辑(支持word\excel\ppt\pdf等格式)
-
在ASP.NET Core中创建内部使用Scoped服务的Quartz.NET宿主服务
-
ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了
-
.Net Core WebApi的简单创建以及使用方法
-
使用Rotativa在ASP.NET Core MVC中创建PDF
-
使用 ASP.NET Core MVC 创建 Web API——响应数据的内容协商(七)