IronPDF 操作指南 CSHTML 到 PDF(Razor 页面) 如何在 ASP.NET Core C## 应用程序中将 Razor 页面转换为 PDF. Curtis Chau 已更新:一月 10, 2026 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronPDF 可在 ASP.NET Core 应用程序中使用 RenderRazorToPdf 方法将 Razor 页面(.cshtml 文件)无缝转换为 PDF 文档,简化了从网页内容生成 PDF 的过程,并完全支持 C# 和 HTML 渲染。 Razor 页面是一个以 .cshtml 为扩展名的文件,它结合了 C# 和 HTML 来生成网页内容。 在 ASP.NET Core 中,Razor Pages 是一种更简单的网络应用程序代码组织方式,非常适合只读或进行简单数据输入的简单页面。 ASP.NET Core Web App是使用ASP.NET Core构建的Web应用程序,这是一个用于开发现代Web应用程序的跨平台框架。 IronPDF简化了在ASP.NET Core Web App项目中从Razor Pages创建PDF文件的过程。 这样就可以在 ASP.NET Core Web Apps 中直接生成 PDF。 快速入门:在几秒钟内将Razor Pages转换为PDF 在 ASP.NET Core 应用程序中将您的 Razor 页面转换为高质量 PDF。 通过使用 RenderRazorToPdf 方法,您可以将 CSHTML 文件转换为 PDF 文档,从而优化您的工作流程并增强文档分发。 本指南将指导您在几分钟内完成所需的简单步骤。 立即开始使用 NuGet 创建 PDF 文件: 使用 NuGet 包管理器安装 IronPDF PM > Install-Package IronPdf 复制并运行这段代码。 // 安装-打包 IronPdf.Extensions.Razor var pdf = new IronPdf.ChromePdfRenderer().RenderRazorToPdf("Views/Home/Index.cshtml"); 部署到您的生产环境中进行测试 立即开始在您的项目中使用 IronPDF,免费试用! 免费试用30天 最小工作流程(5 个步骤) 下载用于在 ASP.NET Core Web App 中将 Razor 页面转换为 PDF 的 C# 库。 添加一个数据模型类 创建一个新的 Razor 页面并编辑".cshtml "文件以显示数据 编辑".cs "文件并使用 RenderRazorToPdf 方法 下载样本项目以快速开始 简介 <!--说明:说明代码概念的图表或截图 --> Razor Pages 为在 ASP.NET Core 应用程序中构建动态网页内容提供了一种强大而直观的方法。 当与 IronPDF 的渲染功能相结合时,开发人员可以直接从他们的网页内容创建专业的 PDF 文档。 这种方法去除了复杂的 PDF 生成逻辑,让您可以使用现有的 HTML 和 CSS 技能。 IronPdf 和 Razor Pages 之间的集成对于生成报告、发票、证书和任何其他需要动态数据展示的文档尤为重要。 通过使用您已经熟悉的 Razor 语法,您可以保持网页视图和 PDF 输出之间的一致性。 将 Razor 转换为 PDF 需要哪些 NuGet 软件包? **`IronPdf.Extensions.Razor`包**是主**`IronPdf`**包的扩展。 在 ASP.NET Core Web App 中将 Razor Pages 呈现为 PDF 文档需要 `IronPdf.Extensions.Razor` 和 `IronPdf` 包。有关详细的安装说明,请访问我们的[安装概述](https://ironpdf.com/get-started/installation-overview/)指南。 ```shell # Command to install IronPdf.Extensions.Razor package using NuGet Package Manager 安装-打包 IronPdf.Extensions.Razor ``` 通过 NuGet 安装 安装-打包 IronPdf.Extensions.Razor 复制软件包管理器命令。 按钮 > nuget.org/packages/IronPdf.Extensions.Razor/ 如何在 ASP.NET Core 中将 Razor 页面转换为 PDF? 您需要一个 ASP.NET Core Web App 项目来将 Razor Pages 转换为 PDF 文件。 翻译过程包括为数据创建模型,设置 Razor 页面以显示数据,然后使用 IronPDF 的 `RenderRazorToPdf` 方法生成 PDF 输出。 为什么我需要一个用于生成 PDF 的模型类? 模型类是 Razor 页面中数据表示的支柱。 它们提供了一种结构化的方式,将数据从控制器逻辑传递到视图,确保了类型安全性和可维护性。 在生成 PDF 时,这些模型变得更加重要,因为它们定义了将出现在最终文档中的数据的确切结构。 - 在项目中创建一个新文件夹并命名为"Models"。 - 向文件夹中添加一个标准C#类并命名为"Person"。此类将用作个体数据的模型。 使用以下代码片段: ```csharp :path=/static-assets/pdf/content-code-examples/how-to/cshtml-to-pdf-razor-model.cs ``` 如何为 PDF 转换设置 Razor 页面? 向"Pages"文件夹中添加一个空的Razor Page,并命名为"persons.cshtml"。 - 使用下面提供的代码示例修改新创建的 "Persons.cshtml "文件。 下面的代码会在浏览器中显示信息。 请注意 Razor 语法如何将 C# 代码无缝集成到 HTML 中,使其非常适合生成可转换为 PDF 的动态内容: ```html @page @using RazorPageSample.Models; @model RazorPageSample.Pages.PersonsModel @{ } Name Title Description @foreach (var person in ViewData["personList"] as List) { @person.Name @person.Title @person.Description } Print ``` ## 将Razor Pages渲染为PDF --> <!--说明:显示代码执行输出或结果的截图 --> 接下来,代码首先实例化**ChromePdfRenderer**类。 将**this**传递给`RenderRazorToPdf`方法即可将此Razor Page转换为PDF文档。 您可以完全访问 **RenderingOptions**中提供的功能。 这些功能包括在生成的 PDF 中应用 [ 页码](https://ironpdf.com/how-to/page-numbers/)、设置 [ 自定义页边距](https://ironpdf.com/how-to/custom-margins/)、添加自定义 [ 文本以及 HTML 页眉和页脚](https://ironpdf.com/how-to/headers-and-footers/)。 您还可以为 PDF 配置 [metadata](https://ironpdf.com/how-to/metadata/) 以确保文档的正确标识和可搜索性。 - 打开"Persons.cshtml"文件的下拉菜单以查看"Persons.cshtml.cs"文件。 - 使用下面的代码修改"Persons.cshtml.cs"。 ```csharp using IronPdf.Razor; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using RazorPageSample.Models; namespace RazorPageSample.Pages { public class PersonsModel : PageModel { [BindProperty(SupportsGet = true)] public List Persons { get; set; } // Handle GET request to load initial data public void OnGet() { Persons = new List { new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } }; ViewData["personList"] = Persons; } // Handle POST request to convert Razor page to PDF public IActionResult OnPost() { Persons = new List { new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } }; ViewData["personList"] = Persons; ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render Razor Page to PDF document PdfDocument pdf = renderer.RenderRazorToPdf(this); // Return the generated PDF file with appropriate content headers Response.Headers.Add("Content-Disposition", "inline"); return File(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf"); // Optionally view the output PDF in browser (uncomment below line if needed) // return File(pdf.BinaryData, "application/pdf"); } } } ``` `RenderRazorToPdf`方法返回一个**`PdfDocument`**对象,该对象可以进行额外的处理和编辑。 您可以将 PDF 导出为 `PDFA` 或 `PDFUA` 格式,对渲染的 PDF 文档应用数字签名,或合并和拆分 PDF 文档。 该方法还允许您旋转页面、添加注释或书签,以及在 PDF 上加盖自定义水印。 为了加强文档管理,您还可以压缩 PDF 文件,在不影响质量的前提下减小文件大小。 这在处理大型报告或带宽问题时尤其有用。 此外,IronPDF 提供的广泛编辑功能已在我们全面的 PDF 编辑教程中进行了记录。 如何为 PDF 生成页面添加导航? 导航对于 ASP.NET Core 应用程序的用户体验至关重要。 通过将 PDF 生成页面集成到主导航中,用户可以轻松访问该功能,而无需手动键入 URL。 - 导航至Pages文件夹 -> Shared文件夹 -> _Layout.cshtml。 将"Person"导航项放在"Home"之后。 确保 `asp-page` 属性的值与我们的文件名完全匹配,在本例中文件名为 "Persons"。 这可确保在您的 ASP.NET Core 应用程序中正确路由: ```html RazorPageSample Home Person Privacy ``` 运行 PDF 生成时会发生什么? 这将向您展示如何运行项目并生成 PDF 文档。 点击 "人员 "导航链接后,您将看到以表格格式显示的数据。 点击 "打印 "按钮会触发 PDF 生成过程,将当前的 Razor 页面视图转换为可下载的 PDF 文档。 生成的 PDF 将保留 Razor 页面的所有样式和格式,确保网页视图和 PDF 输出的外观保持一致。 这种方法尤其适用于生成报告、发票或任何需要从应用程序数据库或业务逻辑中获取数据的文档。 在哪里可以下载完整的 ASP.NET Core Web 应用程序示例? 您可以下载本指南的完整代码作为压缩文件,并在Visual Studio中打开为ASP.NET Core Web App项目。 [下载RazorPageSample.zip ASP.NET Core Web App项目](/static-assets/pdf/how-to/cshtml-to-pdf-razor/RazorPageSample.zip) 常见问题解答 如何在 ASP.NET Core 中将 Razor Pages 转换为 PDF? 您可以使用 IronPDF 的 RenderRazorToPdf 方法在 ASP.NET Core 中将 Razor 页面转换为 PDF。只需安装 IronPdf.Extensions.Razor 包,并使用 ChromePdfRenderer 将 .cshtml 文件直接渲染为 PDF 文档即可。 Razor 转换为 PDF 需要哪些 NuGet 软件包? 您需要两个 NuGet 软件包:IronPdf.Extensions.Razor(扩展包)和 IronPdf(主包)。在 ASP.NET Core Web 应用程序中将 Razor 页面渲染为 PDF 文档需要这两个包。 转换为PDF时,我可以在Razor页面中使用动态数据吗? 是的,IronPDF 完全支持 Razor 页面中的动态数据。在转换为PDF时,您可以使用C#代码、模型绑定和所有标准的Razor语法功能,使其成为生成具有动态内容的报告、发票和证书的理想选择。 我可以从 Razor Pages 生成哪些类型的文档? IronPDF 的 Razor to PDF 转换功能非常适合生成各种文档类型,包括报告、发票、证书、收据以及任何其他需要动态数据展示的文档,同时还能保持您现有的 HTML 和 CSS 风格。 如何在我的项目中快速实现 Razor 到 PDF 的转换? 使用 IronPDF,您可以在几分钟内实现 Razor 到 PDF 的转换。最简单的工作流程只需5个步骤:安装库、添加模型类、创建Razor页面、编辑.cs文件以使用RenderRazorToPdf方法,然后运行应用程序。 转换是否会保留我的 HTML 和 CSS 样式? 是的,在将 Razor Pages 转换为 PDF 时,IronPDF 会保留您的 HTML 和 CSS 风格。这使您可以使用已经创建的相同样式和布局,保持网页视图和 PDF 输出之间的一致性。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 审核者 Jeffrey T. Fritz 首席项目经理 - .NET 社区团队 Jeff 也是 .NET 和 Visual Studio 团队的首席项目经理。他是 .NET Conf 虚拟会议系列的执行制片人,并主持“Fritz and Friends”直播节目,每周两次与观众一起谈论技术并编写代码。Jeff 撰写研讨会、演示文稿并计划包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP 峰会在内的最大型微软开发者活动的内容。 准备开始了吗? Nuget 下载 17,012,929 | 版本: 2025.12 刚刚发布 免费 NuGet 下载 总下载量:17,012,929 查看许可证