使用IRONPDF 如何使用 IronPDF for .NET 在 ASP.NET 中使用 C# 将 HTML 转换为 PDF Curtis Chau 已发布:十一月 27, 2025 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 在当今快节奏的 ASP.NET 环境中,您的应用程序在生成发票或报告等重要文件时不能慢下来。 您需要一种方法来轻松地将 HTML 转换为 PDF,并保证在所有设备上每次都能获得完美的格式。 IronPDF 是为应对这一挑战而构建的 C# PDF 库。 通过利用基于 Chrome 浏览器的强大渲染引擎,它可以将您的动态 HTML 代码转换为像素完美的 PDF 文档。 我们将指导您通过简单的步骤将 IronPDF 集成到您的 .NET 项目中,并从今天开始直接保存专业级 PDF。 如何在 ASP.NET Core 中将 HTML 快速转换为 PDF? 在 ASP.NET Core 中开始 HTML 到 PDF 的转换只需要几行代码。 首先,安装 IronPDF NuGet 包管理器控制台软件包: Install-Package IronPdf 那么,想学习如何在 ASP.NET 中使用 C# 将 HTML 转换为 PDF 吗? 下面是一个完整的代码片段,演示了在 ASP.NET Core MVC 控制器中将 HTML 字符串转换为 PDF 文件,供您开始使用: using IronPdf; using Microsoft.AspNetCore.Mvc; // your program.cs file var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllersWithViews(); var app = builder.Build(); app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); app.Run(); // in your controller file public class PdfController : Controller { public IActionResult GeneratePdf() { var renderer = new ChromePdfRenderer(); // Convert HTML string to PDF string HTML = @" <h1>Invoice #2024-001</h1> <p>Generated on: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p> <table> <tr><th>Item</th><th>Price</th></tr> <tr><td>Professional License</td><td>$799</td></tr> </table>"; var PDF = renderer.RenderHtmlAsPdf(html); // Return PDF as file download return File(pdf.BinaryData, "application/pdf", "invoice.pdf"); } } using IronPdf; using Microsoft.AspNetCore.Mvc; // your program.cs file var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllersWithViews(); var app = builder.Build(); app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); app.Run(); // in your controller file public class PdfController : Controller { public IActionResult GeneratePdf() { var renderer = new ChromePdfRenderer(); // Convert HTML string to PDF string HTML = @" <h1>Invoice #2024-001</h1> <p>Generated on: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p> <table> <tr><th>Item</th><th>Price</th></tr> <tr><td>Professional License</td><td>$799</td></tr> </table>"; var PDF = renderer.RenderHtmlAsPdf(html); // Return PDF as file download return File(pdf.BinaryData, "application/pdf", "invoice.pdf"); } } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 输出 PDF 文件 !a href="/static-assets/pdf/blog/convert-html-to-pdf-aspdotnet-csharp/convert-html-to-pdf-aspdotnet-csharp-1.webp">How to Convert HTML to PDF in ASP.NET using C# with IronPDF:图片 1 - 与如何使用 IronPDF for .NET 中的 C# 将 HTML 转换为 PDF 相关的 7 张图片中的 1 张。 添加图片 alt 文本 该代码创建了一个简单的控制器,可直接从 HTML 字符串生成 PDF 文档。 ChromePdfRenderer 类可处理所有复杂的渲染,确保您的 HTML 结构、CSS 样式甚至 JavaScript 都能在最终的 PDF 输出中正确呈现。 不同 HTML 源的基本方法是什么? IronPDF 提供了三种将 HTML 内容转换为 PDF 格式的主要方法,每种方法都是针对您在 ASP.NET 开发中遇到的特定情况而设计的。 动态转换 HTML 字符串 在处理动态内容(如数据库驱动的报告)时,使用 RenderHtmlAsPdf 可轻松地直接转换 HTML 字符串: var renderer = new ChromePdfRenderer(); string htmlContent = BuildDynamicHtml(); // Your method to generate HTML var PDF = renderer.RenderHtmlAsPdf(htmlContent); pdf.SaveAs("dynamic-report.pdf"); var renderer = new ChromePdfRenderer(); string htmlContent = BuildDynamicHtml(); // Your method to generate HTML var PDF = renderer.RenderHtmlAsPdf(htmlContent); pdf.SaveAs("dynamic-report.pdf"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel PDF 输出 。 这种方法非常适合从填充了实时数据、表单提交或任何动态生成的 HTML 内容的 HTML 页面模板生成 PDF 文档。 从磁盘转换 HTML 文件 对于以文件形式存储的静态 HTML 模板,可使用 RenderHtmlFileAsPdf 直接转换 HTML 文件: var renderer = new ChromePdfRenderer(); var PDF = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report-template.html"); pdf.SaveAs("report.pdf"); var renderer = new ChromePdfRenderer(); var PDF = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report-template.html"); pdf.SaveAs("report.pdf"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 这种方法可以有效处理现有的 HTML 文件,自动解析 CSS 样式、图像和外部资源的相对 URL。 将 URL 转换为 PDF 要捕获整个网页或将现有 URL 转换为 PDF,请使用 URL 转换方法: var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Wait an extra second for JavaScript to load renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen; var PDF = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page"); pdf.SaveAs("webpage.pdf"); var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Wait an extra second for JavaScript to load renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen; var PDF = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page"); pdf.SaveAs("webpage.pdf"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 输出 !a href="/static-assets/pdf/blog/convert-html-to-pdf-aspdotnet-csharp/convert-html-to-pdf-aspdotnet-csharp-3.webp">How to Convert HTML to PDF in ASP.NET using C# with IronPDF:图片 3 - URL 至 PDF 输出。 该强大功能支持复杂的 JavaScript 渲染,是转换单页应用程序或从指定 URL 动态加载网页内容的理想选择。 如何处理表单数据和 POST 请求? 在生成 PDF 之前处理表单数据在 ASP.NET 应用程序中很常见。 下面介绍如何处理 POST 方法提交的内容,并根据提交的数据生成 PDF: [HttpPost] public IActionResult ProcessFormToPdf(OrderModel model) { var renderer = new ChromePdfRenderer(); // Build HTML from form data string HTML = $@" <h2>Order Confirmation</h2> <p>Customer: {model.CustomerName}</p> <p>Order Date: {model.OrderDate:yyyy-MM-dd}</p> <ul> {string.Join("", model.Items.Select(i => $"<li>{i.Name} - ${i.Price}</li>"))} </ul> <p><strong>Total: ${model.Total}</strong></p>"; var PDF = renderer.RenderHtmlAsPdf(html); // Save to server and return download var fileName = $"order-{model.OrderId}.pdf"; return File(pdf.BinaryData, "application/pdf", fileName); } [HttpPost] public IActionResult ProcessFormToPdf(OrderModel model) { var renderer = new ChromePdfRenderer(); // Build HTML from form data string HTML = $@" <h2>Order Confirmation</h2> <p>Customer: {model.CustomerName}</p> <p>Order Date: {model.OrderDate:yyyy-MM-dd}</p> <ul> {string.Join("", model.Items.Select(i => $"<li>{i.Name} - ${i.Price}</li>"))} </ul> <p><strong>Total: ${model.Total}</strong></p>"; var PDF = renderer.RenderHtmlAsPdf(html); // Save to server and return download var fileName = $"order-{model.OrderId}.pdf"; return File(pdf.BinaryData, "application/pdf", fileName); } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 视图示例 !a href="/static-assets/pdf/blog/convert-html-to-pdf-aspdotnet-csharp/convert-html-to-pdf-aspdotnet-csharp-4.webp">How to Convert HTML to PDF in ASP.NET using C# with IronPDF:图片 4 - 表单 UI 示例。 示例输出 !a href="/static-assets/pdf/blog/convert-html-to-pdf-aspdotnet-csharp/convert-html-to-pdf-aspdotnet-csharp-5.webp">How to Convert HTML to PDF in ASP.NET using C# with IronPDF:图片 5 - 从表单渲染的 PDF 输出示例。 哪些高级功能可增强 PDF 生成? 添加页眉、页脚和水印 专业 PDF 文档通常需要页眉、页脚和水印。 IronPDF 强大的编辑功能让操作 PDF 文档变得易如反掌,因此可以直接添加这些内容。 var renderer = new ChromePdfRenderer(); // Configure headers and footers renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter { MaxHeight = 25, HtmlFragment = "<div style='text-align:center'>Annual Report 2024</div>" }; renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter { MaxHeight = 20, HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>" }; // Generate PDF var PDF = renderer.RenderHtmlAsPdf(htmlContent); // Add watermark pdf.ApplyWatermark("<h2 style='color:red;opacity:0.3'>CONFIDENTIAL</h2>", 30, VerticalAlignment.Middle, HorizontalAlignment.Center); pdf.SaveAs("report-with-watermark.pdf"); var renderer = new ChromePdfRenderer(); // Configure headers and footers renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter { MaxHeight = 25, HtmlFragment = "<div style='text-align:center'>Annual Report 2024</div>" }; renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter { MaxHeight = 20, HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>" }; // Generate PDF var PDF = renderer.RenderHtmlAsPdf(htmlContent); // Add watermark pdf.ApplyWatermark("<h2 style='color:red;opacity:0.3'>CONFIDENTIAL</h2>", 30, VerticalAlignment.Middle, HorizontalAlignment.Center); pdf.SaveAs("report-with-watermark.pdf"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 水印输出 !a href="/static-assets/pdf/blog/convert-html-to-pdf-aspdotnet-csharp/convert-html-to-pdf-aspdotnet-csharp-6.webp">How to Convert HTML to PDF in ASP.NET using C# with IronPDF:图片 6 - 生成的 PDF 添加了水印和页眉/页脚。 这些功能将基本的 HTML 转换为 PDF 转变为专业的文档生成,是合同、报告和官方文件的完美选择。 优化 CSS 和印刷媒体 为确保 PDF 输出符合预期,请利用 CSS 打印媒体查询和响应式设计原则: var renderer = new ChromePdfRenderer(); // Configure CSS media type renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print; // Set viewport for responsive designs renderer.RenderingOptions.ViewPortWidth = 1024; string HTML = @" <style> @media print { .no-print { display: none; } body { font-size: 12pt; } .page-break { page-break-after: always; } } @page { size: A4; margin: 1cm; } </style> <div class='content'> <h1>Professional Report</h1> <div class='page-break'></div> <h2>Section 2</h2> </div>"; var PDF = renderer.RenderHtmlAsPdf(html); var renderer = new ChromePdfRenderer(); // Configure CSS media type renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print; // Set viewport for responsive designs renderer.RenderingOptions.ViewPortWidth = 1024; string HTML = @" <style> @media print { .no-print { display: none; } body { font-size: 12pt; } .page-break { page-break-after: always; } } @page { size: A4; margin: 1cm; } </style> <div class='content'> <h1>Professional Report</h1> <div class='page-break'></div> <h2>Section 2</h2> </div>"; var PDF = renderer.RenderHtmlAsPdf(html); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel PDF 输出 使用打印 CSS 可确保您的 PDF 文档保持专业格式,同时隐藏不必要的网络元素,如导航菜单或交互式按钮。 可以使用 CSS 控制内分页符等功能,以确保在当前页面上呈现最佳效果。 为什么选择 IronPDF 用于 ASP.NET PDF 生成? IronPDF 基于 Chrome 浏览器的渲染引擎可确保 HTML 到 PDF 的准确转换,并完全支持现代网络标准。 该库可处理其他 PDF 转换器难以处理的复杂 JavaScript、CSS3 动画和响应式布局。 集成只需要几行代码,因此非常适合在您的 .NET 项目或 .NET 应用程序中进行快速开发。 ChromePdfRenderer 类通过其 RenderingOptions 属性提供了广泛的自定义功能,允许您控制纸张大小、页边距、JavaScript 执行和渲染延迟。 无论是生成简单的发票还是复杂的多页报告,这种灵活性都能确保您的 PDF 输出符合准确的规格要求。 该库甚至能以相同的保真度渲染整个网页或较小的 HTML 片段,而不会留下任何临时文件。 这一切都使它成为您将 HTML 转换为 PDF 的强大选择。 结论 使用 IronPDF for .NET 在 ASP.NET C# 中将 HTML 转换为 PDF 可简化文档生成工作流,同时保持完美的视觉保真度。 该库的应用程序接口简单,结合强大的渲染功能,使其成为任何需要生成 PDF 的 ASP.NET Core 应用程序的理想解决方案。 无论您是为 .NET Core、.NET Framework 进行开发,还是构建移动应用程序,它都是完成这项任务的完美 .NET 封装工具。 您还可以通过命令行或直接在 Visual Studio 中使用解决方案资源管理器来使用它。 您通常会在 static async Task Main 等方法中使用 var client(或 var renderer)和字符串 url(或文件名)等模式,以编程方式直接从输入的 HTML 或 url 中保存 PDF。 立即开始免费试用,将您的 HTML 代码转化为专业的 PDF 文档。 对于生产部署,请浏览我们的许可选项,找到最适合您项目需求的选项。 常见问题解答 如何在 ASP.NET Core 中将 HTML 转换为 PDF? 您可以使用 IronPDF 在 ASP.NET Core 中将 HTML 转换为 PDF。它提供了一个简单的 API,可确保完美的格式和专业的效果。 IronPDF 为何适用于 HTML 到 PDF 的转换? IronPDF 适用于 HTML 到 PDF 的转换,因为它利用了强大的 Chrome 渲染引擎,确保 PDF 像素般完美,并保持原始布局和风格。 是否可以在 ASP.NET 中使用 IronPDF 生成发票和报告? 是的,IronPDF 可以通过将 HTML 内容转换为格式准确的 PDF 来生成发票和报告,是商业应用的理想选择。 IronPDF 是否支持生成 PDF 的响应式设计? IronPDF 支持响应式设计,能准确地将 HTML 内容渲染为适应各种设备和屏幕尺寸的 PDF。 IronPDF能够处理复杂的HTML内容吗? IronPdf 能够处理复杂的 HTML 内容,包括 CSS 和 JavaScript,确保生成的 PDF 与原始网页设计相匹配。 IronPdf 如何确保快速生成 PDF? IronPDF 利用其高效的 Chrome 渲染引擎确保快速生成 PDF,该引擎可快速准确地处理 HTML,而不会降低 ASP.NET 应用程序的运行速度。 在快节奏的 ASP.NET 环境中使用 IronPDF 有什么好处? 在快节奏的 ASP.NET 环境中,IronPDF 可提供快速、可靠的 HTML 到 PDF 的转换,确保您的应用程序保持高性能并提供专业品质的文档。 IronPdf 是否支持不同的文件格式? IronPdf 主要侧重于将 HTML 转换为 PDF,但也支持合并、拆分和编辑 PDF,为文档管理提供了一个多功能解决方案。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布十二月 18, 2025 .NET PDF API 是 .NET 开发人员的指南。 如何使用 IronPDF for .NET 创建 .NET PDF API 阅读更多 已发布十二月 18, 2025 如何使用 Aspose C# 和 IronPDF 创建 PDF 通过这本专为开发人员设计的分步指南,了解如何使用 Aspose C# 和 IronPDF 创建 PDF。 阅读更多 已发布十二月 18, 2025 使用 IronPDF 创建 .NET Core PDF 生成器 使用 IronPDF 在 .NET Core 中构建强大的 PDF 生成器。将 HTML 转换为 PDF,创建发票,并通过像素完美的渲染生成报告。 阅读更多 如何使用 IronPDF 将 PDF 转换为 TIFF VB .NETASP.NET Core 中的动态 PDF 生...
已发布十二月 18, 2025 如何使用 Aspose C# 和 IronPDF 创建 PDF 通过这本专为开发人员设计的分步指南,了解如何使用 Aspose C# 和 IronPDF 创建 PDF。 阅读更多
已发布十二月 18, 2025 使用 IronPDF 创建 .NET Core PDF 生成器 使用 IronPDF 在 .NET Core 中构建强大的 PDF 生成器。将 HTML 转换为 PDF,创建发票,并通过像素完美的渲染生成报告。 阅读更多