使用IRONPDF 如何使用 IronPDF 在 ASP .NET Web 应用程序中创建 PDF 查看器 Curtis Chau 已发布:十二月 3, 2025 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 创建用于显示 PDF 文档的网络应用程序非常简单。 无论是展示发票、报告还是交互式表单,用户都希望获得流畅的浏览器内文档浏览体验,而无需使用 Adobe Acrobat Reader 或其他第三方工具。 IronPdf 让这一切变得无比简单。 通过这个经常更新的 .NET 库,您只需几行代码即可在 ASP.NET Core 项目中创建、渲染和显示 PDF 文件。 让我们深入探讨如何实现专业的 PDF 查看器控件,处理从简单的 HTML 转换到复杂的 Razor 视图等一切问题。 基于浏览器的 PDF 查看如何工作? 好消息是:现代浏览器已经内置了 PDF 浏览器。 当您的服务器以正确的 MIME 类型(application/pdf)发送 PDF 文件时,浏览器会自动内嵌显示。这意味着您无需外部插件或复杂的客户端 JavaScript 库即可查看 PDF 文档。 关键在于生成高质量的 PDF 文档和配置正确的响应标头。 IronPDF 在服务器端处理繁重的工作,使用其基于 Chrome 浏览器的渲染引擎从 HTML、CSS 和 JavaScript 创建像素完美的 PDF 页面。 结果如何? 您的用户将获得原生文档查看器的体验,包括文本选择、搜索、打印和下载等功能,而无需任何额外的用户界面配置。 您可以轻松嵌入和显示内容。 无论您是使用 ASP.NET Core MVC、Razor 视图,甚至是传统的 Web 文件夹项目进行构建,这种方法都能在所有 .NET 应用程序中无缝运行。 如何安装和配置 PDF Viewer 控件? 在 Visual Studio 中开始使用 IronPdf 只需几个步骤。 打开您的 ASP.NET Core 项目并安装 NuGet 软件包: Install-Package IronPdf 接下来,在 Program.cs 中添加许可证密钥配置: IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY" $vbLabelText $csharpLabel 这就是 IronPDF 与您的 .NET 应用程序完全集成所需的全部设置。 有关 Azure 部署或 Docker 容器等高级场景的其他配置选项,请参阅 IronPDF 的文档。 您可以开始免费试用,以便在使用前了解所有功能。 如何从 HTML 生成并显示 PDF 文档? 在 ASP.NET Core 网络应用程序中创建 PDF 查看器的最简单方法是直接转换 HTML 字符串。 下面是一个完整的控制器示例: using IronPdf; using Microsoft.AspNetCore.Mvc; public class PdfController : Controller { public IActionResult DisplayFromHtml() { var renderer = new ChromePdfRenderer(); // Create PDF from HTML with CSS styling var html = @" <html> <head> <style> body { font-family: Arial; padding: 20px; } h1 { color: #2c3e50; } .content { line-height: 1.6; } </style> </head> <body> <h1>Sample PDF Document</h1> <p class='content'>This PDF was generated using IronPDF in ASP.NET Core.</p> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(html); // Display PDF inline in browser Response.Headers.Add("Content-Disposition", "inline; filename=document.pdf"); return File(pdf.BinaryData, "application/pdf"); } } using IronPdf; using Microsoft.AspNetCore.Mvc; public class PdfController : Controller { public IActionResult DisplayFromHtml() { var renderer = new ChromePdfRenderer(); // Create PDF from HTML with CSS styling var html = @" <html> <head> <style> body { font-family: Arial; padding: 20px; } h1 { color: #2c3e50; } .content { line-height: 1.6; } </style> </head> <body> <h1>Sample PDF Document</h1> <p class='content'>This PDF was generated using IronPDF in ASP.NET Core.</p> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(html); // Display PDF inline in browser Response.Headers.Add("Content-Disposition", "inline; filename=document.pdf"); return File(pdf.BinaryData, "application/pdf"); } } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 在浏览器中查看输出 PDF 文件 !a href="/static-assets/pdf/blog/pdf-viewer-in-asp-net-web-application/pdf-viewer-in-asp-net-web-application-1.webp">How to Create a PDF Viewer in ASP .NET Web Application with IronPDF:图片 1 - 与如何使用 IronPDF for .NET 在 ASP .NET Web 应用程序中创建 PDF 查看器相关的 3 张图片中的第 1 张。 ChromePdfRenderer 类使用 Chromium 进行精确渲染,确保您的 CSS、JavaScript 和图像完全按照预期显示。 将 Content-Disposition 设置为内联,浏览器就会显示而不是下载 PDF。 这将创造一种无缝的浏览体验,使用户能够在网络用户界面中直接访问文档。 对于布局复杂的文档,您通常可以在 HTML 中或使用 RenderingOptions 指定宽度和高度等呈现设置。 有关更多 HTML 转换选项,请查看 HTML 字符串转 PDF 指南。 如何从 URL 和 Razor 视图渲染 PDF 文件? IronPDF 还可以将实时网页转换为 PDF 文档。 这非常适合生成报告或存档网页内容: public IActionResult RenderFromUrl(string url = "https://en.wikipedia.org/wiki/Main_Page") { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; var pdf = renderer.RenderUrlAsPdf(url); Response.Headers.Add("Content-Disposition", "inline; filename=webpage.pdf"); return File(pdf.BinaryData, "application/pdf"); } public IActionResult RenderFromUrl(string url = "https://en.wikipedia.org/wiki/Main_Page") { var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; var pdf = renderer.RenderUrlAsPdf(url); Response.Headers.Add("Content-Disposition", "inline; filename=webpage.pdf"); return File(pdf.BinaryData, "application/pdf"); } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 浏览器文档查看器显示生成的 PDF. !a href="/static-assets/pdf/blog/pdf-viewer-in-asp-net-web-application/pdf-viewer-in-asp-net-web-application-2.webp">How to Create a PDF Viewer in ASP .NET Web Application with IronPDF:图片 2 - 与如何使用 IronPDF for .NET 在 ASP .NET Web 应用程序中创建 PDF 查看器相关的 3 张图片中的 2 张。 要将 Razor 视图转换为 PDF,您需要先使用辅助方法将视图渲染为 HTML。这种方法可让您重复使用现有模板,既可用于网页显示,也可用于生成 PDF: public async Task<IActionResult> ViewToPdf() { var invoiceModel = new InvoiceModel { InvoiceNumber = 1001, InvoiceDate = DateTime.Now, CustomerName = "Acme Corp.", Items = new List<ItemModel> { new ItemModel { Description = "Product A", Quantity = 2, UnitPrice = 50.00m }, new ItemModel { Description = "Service B", Quantity = 1, UnitPrice = 150.00m } } }; invoiceModel.TotalAmount = invoiceModel.Items.Sum(i => i.LineTotal); // NOTE: RenderViewToStringAsync uses the Request services and ActionContext var htmlContent = await RenderViewToStringAsync("Invoice", invoiceModel); var renderer = new IronPdf.ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(htmlContent); return File(pdf.BinaryData, "application/pdf"); } private async Task<string> RenderViewToStringAsync(string viewName, object model) { // Use the current HttpContext's service provider (guaranteed available during a request) var actionContext = new ActionContext(HttpContext, RouteData, ControllerContext.ActionDescriptor); var viewEngine = HttpContext.RequestServices.GetRequiredService<IRazorViewEngine>(); var tempDataFactory = HttpContext.RequestServices.GetRequiredService<ITempDataDictionaryFactory>(); var tempData = tempDataFactory.GetTempData(HttpContext); ViewData.Model = model; var viewResult = viewEngine.FindView(actionContext, viewName, isMainPage: false); if (!viewResult.Success) { // Helpful error for debugging var searchedLocations = string.Join(Environment.NewLine, viewResult.SearchedLocations ?? Array.Empty<string>()); throw new InvalidOperationException($"Couldn't find view '{viewName}'. Searched locations:{Environment.NewLine}{searchedLocations}"); } await using var writer = new StringWriter(); var viewContext = new ViewContext( actionContext, viewResult.View, ViewData, tempData, writer, new HtmlHelperOptions() ); await viewResult.View.RenderAsync(viewContext); return writer.ToString(); } public async Task<IActionResult> ViewToPdf() { var invoiceModel = new InvoiceModel { InvoiceNumber = 1001, InvoiceDate = DateTime.Now, CustomerName = "Acme Corp.", Items = new List<ItemModel> { new ItemModel { Description = "Product A", Quantity = 2, UnitPrice = 50.00m }, new ItemModel { Description = "Service B", Quantity = 1, UnitPrice = 150.00m } } }; invoiceModel.TotalAmount = invoiceModel.Items.Sum(i => i.LineTotal); // NOTE: RenderViewToStringAsync uses the Request services and ActionContext var htmlContent = await RenderViewToStringAsync("Invoice", invoiceModel); var renderer = new IronPdf.ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(htmlContent); return File(pdf.BinaryData, "application/pdf"); } private async Task<string> RenderViewToStringAsync(string viewName, object model) { // Use the current HttpContext's service provider (guaranteed available during a request) var actionContext = new ActionContext(HttpContext, RouteData, ControllerContext.ActionDescriptor); var viewEngine = HttpContext.RequestServices.GetRequiredService<IRazorViewEngine>(); var tempDataFactory = HttpContext.RequestServices.GetRequiredService<ITempDataDictionaryFactory>(); var tempData = tempDataFactory.GetTempData(HttpContext); ViewData.Model = model; var viewResult = viewEngine.FindView(actionContext, viewName, isMainPage: false); if (!viewResult.Success) { // Helpful error for debugging var searchedLocations = string.Join(Environment.NewLine, viewResult.SearchedLocations ?? Array.Empty<string>()); throw new InvalidOperationException($"Couldn't find view '{viewName}'. Searched locations:{Environment.NewLine}{searchedLocations}"); } await using var writer = new StringWriter(); var viewContext = new ViewContext( actionContext, viewResult.View, ViewData, tempData, writer, new HtmlHelperOptions() ); await viewResult.View.RenderAsync(viewContext); return writer.ToString(); } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 输出已查看的 PDF 文件 该辅助方法可确保您有一条干净的路径,将 Razor 视图内容渲染为 HTML 字符串,然后 IronPDF 可以对其进行转换。 Razor转PDF教程详细介绍了这一工作流程。 如何使用流处理大型 PDF 文件? 在处理大型 PDF 文档时,流式处理可提高性能并减少内存使用。 使用 MemoryStream 可以高效地提供文件: public IActionResult StreamLargePdf() { var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Large Document</h1><p>Content here...</p>"); var stream = new MemoryStream(pdf.BinaryData); return new FileStreamResult(stream, "application/pdf"); } public IActionResult StreamLargePdf() { var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Large Document</h1><p>Content here...</p>"); var stream = new MemoryStream(pdf.BinaryData); return new FileStreamResult(stream, "application/pdf"); } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 对于传统的 ASP.NET Web 窗体项目,您可以使用事件处理程序实现类似的功能: protected void btnGeneratePdf_Click(object sender, EventArgs e) { var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Web Form PDF</h1>"); Response.ContentType = "application/pdf"; Response.BinaryWrite(pdf.BinaryData); Response.End(); } protected void btnGeneratePdf_Click(object sender, EventArgs e) { var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Web Form PDF</h1>"); Response.ContentType = "application/pdf"; Response.BinaryWrite(pdf.BinaryData); Response.End(); } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 该 PDF 查看器控件支持哪些功能? 通过利用浏览器的本地 PDF 查看器,您的用户可以自动获得丰富的功能:用于复制内容的文本选择、用于查找特定数据的搜索功能、用于打印实物副本的打印选项以及用于离线访问的下载功能。 这样还可以处理用户需要上传现有文档以供查看、编辑或合并的情况。 IronPdf 的服务器端处理功能可处理 JavaScript 执行、CSS 渲染和表单(包括用户可以填写的交互式元素)。 该框架支持标签助手集成、自定义页面大小、页眉和页脚、水印甚至编辑功能。 有关完整的功能概述,请浏览 IronPDF功能页面。 结论 使用 IronPDF for .NET 在 ASP.NET Web 应用程序中创建 PDF 查看器非常简单。 通过将其强大的渲染引擎与浏览器的默认 PDF 查看器相结合,您可以获得在网络应用程序中显示、处理和处理 PDF 文件的专业解决方案。 无论您是转换 HTML、URL 还是 Razor 视图,在实现最大功能的同时,都需要最少的代码。 准备好在您的项目中实施 PDF 浏览了吗? 从免费试用 IronPDF 开始,改变您的 .NET Core Web 应用程序处理文档的方式。 对于生产部署,请查看适合您团队需求的许可选项。 想了解更多 IronPDF 的出色转换实例? 在有用的 方法指南中,探索 IronPDF 如何处理 DOCX 到 PDF 的转换、图像到 PDF 等。 立即开始使用 IronPDF。 免费开始 常见问题解答 如何在 ASP.NET 网络应用程序中创建 PDF 查看器? 您可以使用 IronPDF 在 ASP.NET Web 应用程序中创建一个 PDF 查看器。它能让您直接在应用程序中显示 PDF 文档,提供无缝的查看体验,而无需使用 Adobe Acrobat Reader 等外部工具。 在 ASP.NET 中使用 IronPDF 查看 PDF 有哪些好处? IronPDF 可在 ASP.NET 应用程序中提供流畅的集成 PDF 查看体验。它允许您以内联方式显示文档,支持各种文件类型,无需第三方 PDF 查看器,从而增强了用户体验。 能否在 ASP.NET 网络应用程序中显示交互式 PDF 表单? 是的,使用 IronPDF,您可以在 ASP.NET Web 应用程序中显示交互式 PDF 表单。它支持表单字段和交互式元素的渲染,允许用户直接在浏览器中与文档进行交互。 是否可以在 ASP.NET 中使用 IronPDF 展示发票和报告? 当然,IronPDF 非常适合在 ASP.NET 应用程序中显示发票、报告和其他文档类型。它能确保在网络应用程序中准确高效地呈现文档。 在使用 IronPDF 的 ASP.NET 应用程序中查看 PDF 是否需要 Adobe Acrobat Reader? 不,使用 IronPDF for .NET 时,您不需要使用 Adobe Acrobat Reader 在 ASP.NET 应用程序中查看 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 for .NET 在新窗口 ASP .NET C# 中打开 PDFVB .NET 在 PictureBox 中显示 PD...
已发布十二月 18, 2025 如何使用 Aspose C# 和 IronPDF 创建 PDF 通过这本专为开发人员设计的分步指南,了解如何使用 Aspose C# 和 IronPDF 创建 PDF。 阅读更多
已发布十二月 18, 2025 使用 IronPDF 创建 .NET Core PDF 生成器 使用 IronPDF 在 .NET Core 中构建强大的 PDF 生成器。将 HTML 转换为 PDF,创建发票,并通过像素完美的渲染生成报告。 阅读更多