这篇文章主要介绍使用Rotativa在ASP。PDF的净核心MVC中创建案例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
<强>前言强>
在本文中,我们将学习如何使用Rotativa.AspNetCore工具从ASP。网络中核心的视图创建PDF。如果您使用ASP。净MVC,那么Rotativa工具已经可用,我们可以使用它来生成pdf。
创建一个MVC项目,无论您是核心或不核心,都可以nuget下包。命令如下:
Install-Package Rotativa #或者 Install-Package Rotativa。AspNetCore
这个工具由意大利人乔治?Bozio创建。他需要在ASP。净MVC中生成pdf,并且重复的任务是设置一种方法来创文建pdf档,用于业务流程或报告,下面废话不多说,我们开始吧。
<强>在startup.cs类中配置Rotativa.AspNetCore设置强>
我们在配置方法内的startup.cs类中添加此设置,以设置要访问的wkhtmltopdf。exe文件的相对路径。
public void 配置(IApplicationBuilder 应用,IHostingEnvironment env) {才能 ,,RotativaConfiguration.Setup (env); 以前,,}>,我们需要在wwwroot中添加Rotativa文件夹,然后放入这两个exe,我把这两个文件已经放到了百度云盘。
![]()
然后我们添加一个演示控制器,定义一个得到方法,其定义如下,通过ViewAsPdf方法,就可以通过PDF的形式去套住cshtml,也就达到了PDF的效果。
public class DemoController :,控制器 ,{ (HttpGet)才能 public 才能;IActionResult  DemoViewAsPdf () {才能 ,,return new  ViewAsPdf (“DemoViewAsPdf"); ,,} 以前,}>,就现在,我们需要通过控制器去创建一个视图,然后在视图中有如下定义:
@ { ,显示数据(“Title"),=,“DemoViewAsPdf"; } & lt; html> & lt; head> ,& lt; meta charset=皍tf-8"比; ,& lt; title> Demo & lt;/head> & lt; body> ,& lt; p> Hello  AspNetCore ! ! & lt;/p> & lt;/body> & lt;/html>现在,我们把页面重定与
http://localhost: 55999/演示/DemoViewAsPdf
引用>
public class 利润率 ,{ [OptionFlag才能(“-B")] public 才能,int ?,底部; [OptionFlag才能(“-L")] public 才能,int ?,离开; [OptionFlag才能(“-R")] public int ?,才能正确的; [OptionFlag才能(“-T")] public 才能,int ?,最高; public 才能;利润率(); public 才能;利润率(int ,, int ,, int ,, int 左); public 才能override string  ToString (); 以前,}>
在控制器中直接新出它,然后直接回来,和上面类似,现在你可以将html中p的标签添加一些内容,然后看一下效果。
[HttpGet] public 才能;IActionResult  DemoViewAsPdf () {才能 ,,return new  ViewAsPdf (“DemoPageMarginsPDF") ,,{ ,,,PageMargins =, {, Left =, 20日,Bottom =, 20日,Right =, 20日,Top =, 20,}, ,,}; 以前,,}>,就这样,我们再次启动,可见已经有了外边距!
![]()
<强>横向与纵向
强>它还给我们提供了横向还是竖向的PDF效果,如以下定义:
[HttpGet] public 才能;IActionResult  DemoViewAsPdf (string 方向) {才能 ,,if (==Orientation “Portrait") ,,{ ,,,var demoViewPortrait =, new ViewAsPdf (“DemoViewAsPDF") ,,,{ ,,,,FileName =,“Invoice.pdf", ,,,,PageOrientation =, Rotativa.AspNetCore.Options.Orientation.Portrait, ,,,}; ,,,return demoViewPortrait; ,,} 其他的,, ,,{ ,,,var demoViewLandscape =, new ViewAsPdf (“DemoViewAsPDF") ,,,{ ,,,,FileName =,“Invoice.pdf", ,,,,PageOrientation =, Rotativa.AspNetCore.Options.Orientation.Landscape, ,,,}; ,,,return demoViewLandscape; ,,} 以前,,}使用Rotativa在ASP。网络核心MVC中创建PDF的案例