使用Rotativa在ASP。网络核心MVC中创建PDF的案例

  介绍

这篇文章主要介绍使用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,我把这两个文件已经放到了百度云盘。

使用Rotativa在ASP。PDF的净核心MVC中创建案例

然后我们添加一个演示控制器,定义一个得到方法,其定义如下,通过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

使用Rotativa在ASP。PDF的净核心MVC中创建案例“> <br/> </p> <p> <强>边距<br/> </强> </p> <p>除了普通的展示PDF,我们还可以进行操作,例如下载,打印。当然如果宽和高不太满意,你可以对视图进行设置,其中有一个类是对视图进行配置的,其定义如下,有四大配置值。</p> <pre类= 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,},   ,,};   以前,,}

,就这样,我们再次启动,可见已经有了外边距!

使用Rotativa在ASP。PDF的净核心MVC中创建案例

<强>横向与纵向

它还给我们提供了横向还是竖向的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的案例