使用Rotativa在ASP.NET Core MVC中创建PDF指南

0 下载量 100 浏览量 更新于2024-08-04 收藏 162KB DOCX 举报
本文档详细介绍了如何在ASP.NET Core MVC项目中使用Rotativa库来创建PDF文件。Rotativa是一款方便的工具,适用于那些需要将网页内容转换为PDF格式的开发者,尤其在ASP.NET MVC框架中广泛应用。在ASP.NET Core环境下,可以使用Rotativa.AspNetCore这个NuGet包。 首先,为了开始使用Rotativa,你需要在你的ASP.NET Core MVC项目中安装相应的NuGet包。这可以通过以下两条命令完成: 1. `Install-Package Rotativa` 2. `Install-Package Rotativa.AspNetCore` 这两个命令将分别安装Rotativa的基础版本和适用于ASP.NET Core的版本。Rotativa是由Giorgio Bozio开发的,主要目的是简化在ASP.NET应用中生成PDF文档的过程,特别是对于报表或业务流程的需求。 在配置阶段,需要在`Startup.cs`文件的`Configure`方法内设置Rotativa.AspNetCore。这涉及到指定`wkhtmltopdf.exe`文件的相对路径,这是一个外部依赖,用于实际的HTML到PDF转换。确保在`wwwroot`目录下创建一个名为`Rotativa`的文件夹,并将所需的两个`.exe`文件放入其中。这些文件可以从提供的百度云盘链接获取。 接下来,创建一个名为`DemoController`的控制器,包含一个`HttpGet`的`DemoViewAsPdf`方法。该方法返回一个`ViewAsPdf`实例,指定要转换为PDF的视图名称。代码如下: ```csharp public class DemoController : Controller { [HttpGet] public IActionResult DemoViewAsPdf() { return new ViewAsPdf("DemoViewAsPdf"); } } ``` 最后,创建一个名为`DemoViewAsPdf.cshtml`的视图文件,其中包含HTML内容。例如: ```html @{ ViewData["Title"] = "DemoViewAsPdf"; } <html> <head> <meta charset="utf-8"> <title>Demo</title> </head> <body> <p>Hello ASP.NET Core!!</p> </body> </html> ``` 当用户访问`Demo/DemoViewAsPdf`路由时,`DemoController`的`DemoViewAsPdf`方法将被调用,`ViewAsPdf`会根据`DemoViewAsPdf.cshtml`视图生成一个PDF文件并发送给客户端下载。 通过这种方式,开发者可以轻松地将ASP.NET Core MVC应用中的任何视图转换为高质量的PDF文档,非常适合生成报告、合同或者其他需要打印或离线阅读的页面内容。记得在实际项目中根据需求调整配置和视图内容,以实现最佳效果。
2023-06-10 上传