马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

.net core 使用Rotativa创建PDF文档

[复制链接]
查看3067 | 回复1 | 2019-10-12 10:21:54 | 显示全部楼层 |阅读模式

一、下载Rotaiva

工具 = > NuGet包管理器 = > 管理办理方案的NuGet步伐包

在打开的页面中搜刮 Rotativa.AspNetCore 如下图:

102154y8d95r9f9eck985k.png

选中红框的记录,左边会出现你办理方案中的所有项目,选中要添加的项目点击安装,安装完成后项目背面会出现版本号,如下图:

102155d2l2v0dtdimm22z6.png

二、配置Rotaiva

在Startup.cs的Rotaiva方法中添加以下内容:

  1. RotativaConfiguration.Setup(env);
复制代码

完备代码如下:

  1. public void Configure(IApplicationBuilder app, IHostingEnvironment env)
  2. {
  3. if (env.IsDevelopment())
  4. {
  5. app.UseDeveloperExceptionPage();
  6. }
  7. else
  8. {
  9. app.UseExceptionHandler("/Home/Error");
  10. }
  11. RotativaConfiguration.Setup(env);//RotativaConfiguration 转PDF 功能
  12. app.UseStaticFiles();
  13. app.UseCookiePolicy();
  14. app.UseMvc(routes =>
  15. {
  16. routes.MapRoute(
  17. name: "default",
  18. template: "{controller=Home}/{action=Index}/{id?}");
  19. });
  20. }
  21. }
复制代码

添加PDF转换工具

在wwwroot目次下添加Rotativa目次 ,再把wkhtmltoimage.exe和wkhtmltopdf.exe复制进去,

此两个文件在此网站下载:https://github.com/webgio/Rotativa.AspNetCore

如下图:

102155qs0z0i0h8emmsh8s.png

三、开始创建静态PDF档

在HomeController 下创建一个Action,如下图:

102156w1jji1ddkdzd78cf.png

  1. [HttpGet]
  2. public IActionResult Pdf()
  3. {
  4. return new ViewAsPdf("Pdf");
  5. }
复制代码

然后创建cshtml

102156h9y9r59xjbzxjbrc.png

  1. @{
  2. ViewData["Title"] = "Pdf";
  3. }
  4. <h2>Pdf</h2>
复制代码

启动项目,打印页面,可以看到下载pdf页面,终极PDF如下:

102156j0vqm4mjj0zrn041.png

四、创建动态PDF档

创建Controller

  1. [HttpGet]
  2. public IActionResult PdfDemo()
  3. {
  4. List<tbl_page> pageList = new List<tbl_page>();
  5. pageList.Add(new tbl_page() <br /> {
  6. page_name="1",
  7. page_no="1"
  8. });
  9. pageList.Add(new tbl_page()
  10. {
  11. page_name = "2",
  12. page_no = "2"
  13. });
  14. pageList.Add(new tbl_page()
  15. {
  16. page_name = "3",
  17. page_no = "3"
  18. });
  19. return new ViewAsPdf(pageList);
  20. }
复制代码

天生cshtml

  1. @model IEnumerable<NetCoreApiDemo.Model.tbl_page>
  2. @{
  3. ViewData["Title"] = "PdfDemo";
  4. }
  5. <h2>PdfDemo</h2>
  6. <table class="table table-bordered">
  7. <thead>
  8. <tr>
  9. <th>page_no</th>
  10. <th>page_name</th>
  11. </tr>
  12. </thead>
  13. <tbody>
  14. @foreach (var item in Model)
  15. {
  16. <tr>
  17. <td>@item.page_no</td>
  18. <td>@item.page_name</td>
  19. </tr>
  20. }
  21. </tbody>
  22. </table>
复制代码

终极天生PDF如下:

102157ktwvzb1tpvnwbcpq.png







来源:https://www.cnblogs.com/zbspace/p/11617725.html
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则