.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()
{
page_name="",
page_no=""
});
pageList.Add(new tbl_page()
{
page_name = "",
page_no = ""
});
pageList.Add(new tbl_page()
{
page_name = "",
page_no = ""
});
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 core 使用Rotativa创建PDF文档的更多相关文章
- 如何在ASP.NET Core 中快速构建PDF文档
比如我们需要ASP.NET Core 中需要通过PDF来进行某些简单的报表开发,随着这并不难,但还是会手忙脚乱的去搜索一些资料,那么恭喜您,这篇帖子会帮助到您,我们就不会再去浪费一些宝贵的时间. 在本 ...
- ABBYY PDF Transformer+从文件选项中创建PDF文档的教程
可使用OCR文字识别软件ABBYY PDF Transformer+从Microsoft Word.Microsoft Excel.Microsoft PowerPoint.HTML.RTF.Micr ...
- .net快速创建PDF文档 by c#
原文地址:http://www.cnblogs.com/Creator/archive/2010/03/13/1685020.html C#引用IText创建PDF文档 先引用IText 可以从 ...
- ABBYY FineReader 14创建PDF文档功能解析
使用ABBYY FineReader,您可以轻松查看和编辑任何类型的 PDF,真的是一款实至名归的PDF编辑转换器,您知道的,它能够保护.签署和编辑PDF文档,甚至还可以创建PDF文档,本文和小编一起 ...
- 使用itextsharp创建PDF文档——图片集合
文档管理系统中 ,扫描模块将文档或证件扫描后.为了便于保存多个图片,拟将多个图片生成一个PDF文档进行保存. 这里我们就需要PDF生成工具了.你可以在这里下载.PDFCreator 主要使用了开源工具 ...
- C#创建PDF文档
说明:本实例用到了第三方组件ICSharpCode.SharpZipLib.dll.itextsharp.dll,该组件可到网上下载. 代码: using System; using System.C ...
- 使用Rotativa在ASP.NET Core MVC中创建PDF
在本文中,我们将学习如何使用Rotativa.AspNetCore工具从ASP.NET Core中的视图创建PDF.如果您使用ASP.NET MVC,那么Rotativa工具已经可用,我们可以使用 ...
- NET Core MVC中创建PDF
使用Rotativa在ASP.NET Core MVC中创建PDF 在本文中,我们将学习如何使用Rotativa.AspNetCore工具从ASP.NET Core中的视图创建PDF.如果您使用ASP ...
- C#生成PDF文档,读取TXT文件内容
using System.IO;using iTextSharp.text;using iTextSharp.text.pdf; //需要在项目里引用ICSharpCode.SharpZipLib.d ...
随机推荐
- HDU 5057
题意略. 开始想开一个三维的树状数组,但是一算空间不够,正解是离线操作,按位来计算,一共是10位,所以总共是扫10遍,第i遍只处理第i位的询问, 注意在修改后,要把当前这个位的值存下来(这就是cur数 ...
- Python实现的一些常见简单问题(持续更新)
提纲: 1.汉诺塔 2.找到某个范围内的所有质数 3.杨辉三角 4.用闭包实现一个计数器,调用一次计数器加1 5.将类构造成可迭代对象,实现斐波那契数列 ...... 1.汉诺塔(汉诺塔) 用递归函数 ...
- Oracle - SQL语句实现数据库快速检索
SQL语句实现数据库快速检索 有时候在数据库Debug过程中,需要快速查找某个关键字. 1:使用PLSQL Dev自带的查找数据库对象,进行对象查找 缺点:查找慢.耗时. 2:使用SQL语句对数据库对 ...
- Mac迅雷瘦身精简教程
迅雷是个大家很熟悉的工具了,尽管吐槽的人不少,但相信大家也都是口嫌体直,边骂边用. 其实 macOS 版迅雷在界面上,相比于 Windows 的客户端来说,已经很克制了,但有些功能仍然对用户造成了干扰 ...
- 如果使用tf::transform进行简单的不同frame间的pose转换
tf转换,分为两部分:broadcaster和listener.前者是tf的发布者,后者是接收者.我们如果要建立一个完整的tf体系,需要自己先生成tf信息用broadcaster发布出去,然后再在需要 ...
- tomcat部署项目,war包问题
tomcat部署项目后,war包是否能删除 答案是能删除的,前提是先停掉tomcat后才能删除 1)在tomcat中webapps目录下上传war包后,对war包自动解压 2)war包不能在tomca ...
- NLP(十一) 提取文本摘要
gensim.summarization库的函数 gensim.summarization.summarize(text, ratio=0.2, word_count=None, split=Fals ...
- codeforce303C-Minimum Modular-剪枝,暴力
Minimum Modular 题意:就是在一堆数字中,每一个数字对m取模不能等于这堆数字中的其他数字,同时给了K个机会可以删除一些数字.求最小的m: 思路:我一开始完全没思路,队长说的并查集什么的不 ...
- POJ 3067 Japan (树状数组求逆序对)
POJ - 3067 题意:有(1-n)个城市自上到下在左边, 另有(1-m)个城市自上到下在右边,共有m条高速公路,现求这m条直线的交点个数,交点不包括在城市处相交. 题解:先将高速公路读入,然后按 ...
- codeforces 812 E. Sagheer and Apple Tree(树+尼姆博弈)
题目链接:http://codeforces.com/contest/812/problem/E 题意:有一颗苹果树,这个苹果树所有叶子节点的深度要不全是奇数,要不全是偶数,并且包括根在内的所有节点上 ...