跳至页脚内容
使用IRONPDF

在 ASP.NET Core MVC 中构建 PDF 查看器 | 教程

使用 IronPDF 基于 Chrome 的渲染引擎创建一个 ASP.NET Core MVC PDF 查看器,以在浏览器中内联显示 PDF 文件,从 HTML 内容生成动态 PDF,并控制用户是查看还是下载文档——所有这些都不需要外部插件或依赖项。

现代浏览器包含一个内置 PDF 查看器,当网络应用程序提供具有正确 MIME 类型的 PDF 文件时,该浏览器会自动激活。 这样就不需要第三方工具或插件,用户可以直接在浏览器中显示 PDF 文档。 IronPDF是一个 .NET PDF 库,它采用基于 Chrome 的渲染引擎,可以轻松地在 ASP.NET Core MVC 应用程序中生成、渲染和显示 PDF 文件。

立即开始使用 IronPDF。
green arrow pointer

如何在 ASP.NET Core MVC 项目中安装 IronPDF?

在 ASP.NET Core MVC 中构建 PDF 查看器之前,需要将 IronPDF 添加到您的项目中。 最快的方法是通过 Visual Studio 中的 NuGet 包管理器,或者通过命令行使用 .NET CLI 或包管理器控制台。

Install-Package IronPdf
dotnet add package IronPdf
Install-Package IronPdf
dotnet add package IronPdf
SHELL

安装完软件包后,将 IronPdf 命名空间添加到您的控制器文件中,即可开始生成和提供 PDF 文档。 IronPDF 的目标平台是 .NET 8 和 .NET 10,因此无需任何额外配置即可与最新的 ASP.NET Core 版本配合使用。

对于需要离线安装或特定版本锁定的项目,您也可以直接下载 NuGet 包并将其添加为本地源。 IronPDF 许可页面涵盖了试用版和正式版许可选项,如果您在正式上线前需要这些选项,可以参考这些许可。

现代浏览器如何显示 PDF 文件?

Chrome、Firefox、Edge 和 Safari 等现代浏览器都包含本地 PDF 浏览器功能。 当您的 ASP.NET Core 应用程序返回内容类型为 application/pdf 的文件时,浏览器会内联呈现 PDF 文档,而无需 Adobe Acrobat 或外部插件。 这款内置的 PDF 查看器支持文本选择、打印、缩放控制、书签和页面导航,创造了用户已经熟悉的文档查看体验。

为了安全地提供现有文件,最佳做法是使用托管环境来定位这些文件,而不是依赖于在开发和生产过程中可能会改变的目录路径。 对于大型文档,使用文件流比加载整个字节数组更节省内存。

using Microsoft.AspNetCore.Mvc;

public class DocumentController : Controller
{
    public IActionResult ViewPdf()
    {
        // Path to an existing PDF file in the wwwroot folder
        string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "documents", "sample.pdf");
        byte[] fileBytes = System.IO.File.ReadAllBytes(path);
        // Return file for inline browser display
        return File(fileBytes, "application/pdf");
    }
}
using Microsoft.AspNetCore.Mvc;

public class DocumentController : Controller
{
    public IActionResult ViewPdf()
    {
        // Path to an existing PDF file in the wwwroot folder
        string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "documents", "sample.pdf");
        byte[] fileBytes = System.IO.File.ReadAllBytes(path);
        // Return file for inline browser display
        return File(fileBytes, "application/pdf");
    }
}
Imports Microsoft.AspNetCore.Mvc

Public Class DocumentController
    Inherits Controller

    Public Function ViewPdf() As IActionResult
        ' Path to an existing PDF file in the wwwroot folder
        Dim path As String = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "documents", "sample.pdf")
        Dim fileBytes As Byte() = System.IO.File.ReadAllBytes(path)
        ' Return file for inline browser display
        Return File(fileBytes, "application/pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

PDF文件在浏览器中显示时是什么样子?

一个关于"什么是 PDF?"的 PDF 文档在本地主机 7162/Pdf/ViewPdf 的网页浏览器中显示,以 PDF 查看器界面呈现格式化的文本内容,并带有缩放控件和导航选项。

上面的代码从服务器读取现有的 PDF 文件并返回给浏览器。 File() 方法接受一个字节数组和一个内容类型,指示浏览器的文档查看器以内联方式渲染内容。这种方法适用于桌面和移动设备上的所有现代浏览器,为所有用户提供一致的体验。

对于更高级的场景,您可能需要从内存Azure Blob 存储加载 PDF,这样可以提高可扩展性并减少服务器存储需求。 微软关于在 ASP.NET Core 中提供静态文件的文档涵盖了生产环境中文件处理的最佳实践。

如何在 ASP.NET Core 中动态生成 PDF 文档?

静态 PDF 文件虽然有用,但许多 Web 应用程序需要根据当前用户或请求动态生成文档。IronPDF 的 ChromePdfRenderer 类使用底层真正的 Chromium 浏览器引擎,将 HTML 内容转换为专业渲染的 PDF 文件。

您可以直接在 HTML 字符串中包含外部资源,例如特定主题的 CSS图表的 JavaScript 。 渲染引擎支持现代网络标准,包括 CSS3、JavaScript ES6+ 和网络字体,因此生成的 PDF 看起来与浏览器渲染的同一 HTML 页面完全一样。

using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class ReportController : Controller
{
    public IActionResult GenerateReport()
    {
        var renderer = new ChromePdfRenderer();
        // HTML content with CSS styling
        string html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 40px; }
                    h1 { color: #2c3e50; }
                    .report-body { line-height: 1.6; }
                </style>
            </head>
            <body>
                <h1>Monthly Sales Report</h1>
                <div class='report-body'>
                    <p>Generated: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
                    <p>This report contains the latest sales figures.</p>
                </div>
            </body>
            </html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class ReportController : Controller
{
    public IActionResult GenerateReport()
    {
        var renderer = new ChromePdfRenderer();
        // HTML content with CSS styling
        string html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 40px; }
                    h1 { color: #2c3e50; }
                    .report-body { line-height: 1.6; }
                </style>
            </head>
            <body>
                <h1>Monthly Sales Report</h1>
                <div class='report-body'>
                    <p>Generated: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
                    <p>This report contains the latest sales figures.</p>
                </div>
            </body>
            </html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc

Public Class ReportController
    Inherits Controller

    Public Function GenerateReport() As IActionResult
        Dim renderer As New ChromePdfRenderer()
        ' HTML content with CSS styling
        Dim html As String = "
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 40px; }
                    h1 { color: #2c3e50; }
                    .report-body { line-height: 1.6; }
                </style>
            </head>
            <body>
                <h1>Monthly Sales Report</h1>
                <div class='report-body'>
                    <p>Generated: " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p>
                    <p>This report contains the latest sales figures.</p>
                </div>
            </body>
            </html>"

        Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
        Return File(pdf.BinaryData, "application/pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

PDF生成后,HTML内容会如何显示?

! PDF 查看器显示一份月度销售报告,其中包含格式化的标题文本和生成日期,演示了通过 IronPDF 将 HTML 转换为 PDF 并应用自定义 CSS 样式的过程。

此示例演示了 IronPDF 如何将HTML 字符串转换为 PDF文档。 ChromePdfRenderer 使用基于 Chromium 的引擎,确保准确的 CSS 渲染和 JavaScript 支持。 生成的 PDF 文件保留了 HTML 中定义的所有样式,因此非常适合创建报告发票和其他需要一致格式的文档。

有关HTML 转 PDF 转换的更多代码示例,请参阅 IronPDF 的文档。 您还可以从CSHTML Razor 视图URL甚至Markdown 内容生成 PDF。

如何控制页面内嵌显示与文件下载?

有时用户需要下载 PDF 文件,而不是在浏览器中查看。 浏览器处理响应的方式取决于 Content-Disposition 标头。 理解这一区别对于在您的应用程序中提供正确的用户体验至关重要。

当您在 File() 方法中省略 filename 参数时,ASP.NET Core 不会设置 Content-Disposition 标头,因此浏览器使用其默认行为——通常是内联显示。 当您将文件名作为第三个参数提供时,ASP.NET Core 会自动添加 Content-Disposition: attachment,提示用户保存文件。

using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult DisplayInline()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.MarginTop = 25;
        renderer.RenderingOptions.MarginBottom = 25;

        PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
        // Display PDF inline in browser -- no filename = inline
        return File(pdf.BinaryData, "application/pdf");
    }

    public IActionResult DownloadPdf()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter;
        renderer.RenderingOptions.EnableJavaScript = true;

        PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
        // Prompt download with specified filename
        return File(pdf.BinaryData, "application/pdf", "webpage-report.pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult DisplayInline()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.MarginTop = 25;
        renderer.RenderingOptions.MarginBottom = 25;

        PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
        // Display PDF inline in browser -- no filename = inline
        return File(pdf.BinaryData, "application/pdf");
    }

    public IActionResult DownloadPdf()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter;
        renderer.RenderingOptions.EnableJavaScript = true;

        PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
        // Prompt download with specified filename
        return File(pdf.BinaryData, "application/pdf", "webpage-report.pdf");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc

Public Class PdfController
    Inherits Controller

    Public Function DisplayInline() As IActionResult
        Dim renderer As New ChromePdfRenderer()
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
        renderer.RenderingOptions.MarginTop = 25
        renderer.RenderingOptions.MarginBottom = 25

        Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
        ' Display PDF inline in browser -- no filename = inline
        Return File(pdf.BinaryData, "application/pdf")
    End Function

    Public Function DownloadPdf() As IActionResult
        Dim renderer As New ChromePdfRenderer()
        renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter
        renderer.RenderingOptions.EnableJavaScript = True

        Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
        ' Prompt download with specified filename
        Return File(pdf.BinaryData, "application/pdf", "webpage-report.pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

何时应该使用内联显示而不是下载显示?

屏幕截图显示了维基百科主页转换为 PDF 格式后,在浏览器窗口中以内嵌方式显示,并带有 PDF 查看器控件,包括缩放、页面导航和打印选项。

这两个控制器操作的区别在于 File() 中的第三个参数。 这种灵活性使您的应用程序能够根据用户需求或业务要求支持这两种场景。 为了增强控制,您还可以在渲染之前设置自定义 HTTP 标头或配置纸张尺寸方向设置

有些应用程序结合了这两种方法:一个预览端点,用于在线显示 PDF;以及一个单独的下载端点,用于触发文件保存。 这种模式使用户在决定下载文档之前可以预览文档内容。

如何将 Razor Pages 与 PDF 生成功能集成?

ASP.NET Core MVC 中的 Razor Pages 为实现 .NET PDF 查看器提供了另一种方法。 页面模型可以使用与标准 MVC 控制器中相同的 IronPDF 功能生成和返回 PDF 文件。 这种模式对于已经使用 Razor Pages 的应用程序来说效果很好,因为它将 PDF 生成逻辑与触发它的页面放在一起。

Razor Page 中的 OnGet 处理程序就像控制器操作一样——它接收请求、执行工作并返回结果。 ASP.NET Core 支持从页面模型返回 FileResult,其工作方式与从控制器返回 File() 相同。

using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

public class InvoiceModel : PageModel
{
    public IActionResult OnGet(int id)
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;

        // Add header and footer
        renderer.RenderingOptions.TextHeader.CenterText = "Invoice Document";
        renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}";
        renderer.RenderingOptions.TextFooter.FontSize = 10;

        string html = $@"
            <html>
            <head>
                <style>
                    body {{ font-family: 'Segoe UI', Arial, sans-serif; padding: 40px; }}
                    h1 {{ color: #1a5490; border-bottom: 2px solid #1a5490; padding-bottom: 10px; }}
                    .invoice-details {{ margin: 20px 0; }}
                    table {{ width: 100%; border-collapse: collapse; }}
                    th, td {{ padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }}
                </style>
            </head>
            <body>
                <h1>Invoice #{id}</h1>
                <div class='invoice-details'>
                    <p><strong>Date:</strong> {DateTime.Now:yyyy-MM-dd}</p>
                    <p><strong>Due Date:</strong> {DateTime.Now.AddDays(30):yyyy-MM-dd}</p>
                </div>
                <table>
                    <tr><th>Description</th><th>Amount</th></tr>
                    <tr><td>Professional Services</td><td>$1,500.00</td></tr>
                </table>
                <p style='margin-top: 40px;'>Thank you for your business!</p>
            </body>
            </html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

public class InvoiceModel : PageModel
{
    public IActionResult OnGet(int id)
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;

        // Add header and footer
        renderer.RenderingOptions.TextHeader.CenterText = "Invoice Document";
        renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}";
        renderer.RenderingOptions.TextFooter.FontSize = 10;

        string html = $@"
            <html>
            <head>
                <style>
                    body {{ font-family: 'Segoe UI', Arial, sans-serif; padding: 40px; }}
                    h1 {{ color: #1a5490; border-bottom: 2px solid #1a5490; padding-bottom: 10px; }}
                    .invoice-details {{ margin: 20px 0; }}
                    table {{ width: 100%; border-collapse: collapse; }}
                    th, td {{ padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }}
                </style>
            </head>
            <body>
                <h1>Invoice #{id}</h1>
                <div class='invoice-details'>
                    <p><strong>Date:</strong> {DateTime.Now:yyyy-MM-dd}</p>
                    <p><strong>Due Date:</strong> {DateTime.Now.AddDays(30):yyyy-MM-dd}</p>
                </div>
                <table>
                    <tr><th>Description</th><th>Amount</th></tr>
                    <tr><td>Professional Services</td><td>$1,500.00</td></tr>
                </table>
                <p style='margin-top: 40px;'>Thank you for your business!</p>
            </body>
            </html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Imports Microsoft.AspNetCore.Mvc.RazorPages

Public Class InvoiceModel
    Inherits PageModel

    Public Function OnGet(id As Integer) As IActionResult
        Dim renderer = New ChromePdfRenderer()
        renderer.RenderingOptions.MarginTop = 20
        renderer.RenderingOptions.MarginBottom = 20
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4

        ' Add header and footer
        renderer.RenderingOptions.TextHeader.CenterText = "Invoice Document"
        renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}"
        renderer.RenderingOptions.TextFooter.FontSize = 10

        Dim html As String = $"
            <html>
            <head>
                <style>
                    body {{ font-family: 'Segoe UI', Arial, sans-serif; padding: 40px; }}
                    h1 {{ color: #1a5490; border-bottom: 2px solid #1a5490; padding-bottom: 10px; }}
                    .invoice-details {{ margin: 20px 0; }}
                    table {{ width: 100%; border-collapse: collapse; }}
                    th, td {{ padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }}
                </style>
            </head>
            <body>
                <h1>Invoice #{id}</h1>
                <div class='invoice-details'>
                    <p><strong>Date:</strong> {DateTime.Now:yyyy-MM-dd}</p>
                    <p><strong>Due Date:</strong> {DateTime.Now.AddDays(30):yyyy-MM-dd}</p>
                </div>
                <table>
                    <tr><th>Description</th><th>Amount</th></tr>
                    <tr><td>Professional Services</td><td>$1,500.00</td></tr>
                </table>
                <p style='margin-top: 40px;'>Thank you for your business!</p>
            </body>
            </html>"

        Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
        Return File(pdf.BinaryData, "application/pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

PDF自定义有哪些渲染选项?

PDF 查看器以专业格式显示第 20 号发票,包括样式化的标题、到期日信息和感谢信息,并在深色主题浏览器界面中显示

此 Razor Pages 示例演示了 OnGet 处理程序如何从 URL 参数生成 PDF。 RenderingOptions 属性允许对边距、页面方向和其他布局设置进行精细控制。 您还可以添加页眉和页脚,配置页码,或设置自定义纸张尺寸

通过 RenderingOptions 提供的高级功能包括水印PDF 压缩数字签名。 有关每个可用选项的完整详细信息,请参阅IronPDF 渲染选项参考

如何处理PDF安全性和访问控制?

生产应用通常需要限制谁可以查看或修改 PDF 文档。 IronPDF 提供对PDF 密码和权限的内置支持,允许您加密文档、要求输入密码才能打开文档,或限制打印和复制。

在从控制器返回任何 PdfDocument 对象之前,您可以对其应用安全设置。 无论 PDF 是从 HTML 生成的、从磁盘加载的还是从数据库中检索的,这种方法都适用。

IronPDF 中提供的常用 PDF 安全选项
安全功能 IronPDF属性 用例
所有者密码 OwnerPassword 防止未经授权的权限更改
用户密码 UserPassword 需要密码才能打开文档
禁用打印 AllowUserPrinting 阻止收件人打印文件
禁用复制 AllowUserCopyPasteContent 从PDF中提取文本块
数字签名 PdfSignature 核实文件真实性

对于合同、财务报表或医疗记录等敏感文件,结合用户密码和权限限制,可以精确控制收件人对文件的操作。PDF /A 合规模式是另一种值得考虑的选择,适用于需要长期保存文件完整性长达数十年的归档场景。

如何优化PDF生成性能?

PDF 生成涉及 CPU 和内存工作,因此在高流量应用程序中性能至关重要。 IronPDF 中的异步渲染 API允许您将 PDF 创建任务卸载到后台线程,而不会阻塞请求管道。这在单个请求中生成多个 PDF 或处理批量作业时尤其有用。

对于在 Linux 或 Docker 容器中进行的生产部署,IronPDF 支持跨平台执行,无需任何 Windows 特定的依赖项。 IronPDF Linux 安装指南Docker 配置参考涵盖了设置步骤。 Mozilla PDF.js 项目和原生浏览器查看器都与 IronPDF 生成的任何 PDF 文件兼容,因此在显示方面也具有灵活性。

以下几种做法可以提高生产效率:

  • 尽可能重用 ChromePdfRenderer 实例,而不是每次请求都创建一个新实例,因为渲染器初始化会带来一些开销。
  • 使用异步方法(例如 RenderHtmlAsPdfAsync)在 Chromium 引擎渲染时释放线程。
  • 当重复请求同一文档时,使用IMemoryCache或分布式缓存缓存生成的 PDF。
  • 对于非常大的文档,请考虑流式传输输出,而不是将整个字节数组缓冲到内存中。

异步渲染在实践中是如何工作的?

异步 API 与同步版本类似,但返回 Task<PdfDocument>。 在 async 控制器操作中等待结果,保持线程池空闲以处理其他传入的请求,同时继续渲染。 在高负载场景下,从同步渲染切换到异步渲染通常可以减少线程争用,并提高并发负载下的整体响应时间。

下一步计划是什么?

在 ASP.NET Core MVC 中构建 PDF 查看器,将浏览器原生显示功能与 IronPDF 的生成功能相结合。 现代浏览器中内置的 PDF 查看器会在 ASP.NET 控制器返回具有正确 MIME 类型的文件时自动处理显示、打印和导航。 IronPDF 负责生成部分——将 HTML、URL 或现有文件转换为格式良好的 PDF 文档,并完全支持 CSS、JavaScript、页眉、页脚和安全设置。

本指南涵盖的核心功能:

  • 使用 File() 方法和 application/pdf MIME 类型以内联方式提供现有 PDF 文件
  • 使用 ChromePdfRenderer 从 HTML 字符串生成动态 PDF
  • 通过 Content-Disposition 标头控制内联显示与文件下载
  • 通过 RenderingOptions 添加页眉、页脚、边距和安全设置
  • 使用 Razor Pages 代替 MVC 控制器生成 PDF 文件 对敏感文档应用密码保护和权限限制
  • 通过异步渲染和响应缓存提高性能

从这里,您可以探索更高级的工作流程,例如合并多个 PDF创建可填写表单或从CSHTML Razor 视图生成 PDF。 IronPDF 文档涵盖了所有功能,并提供了可运行的代码示例。

立即开始免费试用,探索 IronPDF 的全部功能,或购买许可证用于生产环境。

常见问题解答

如何在 ASP.NET Core MVC 应用程序中显示 PDF 文件?

您可以通过 IronPDF for .NET 在 ASP.NET Core MVC 应用程序中显示 PDF 文件。它允许您使用现代内置 PDF 查看器直接在浏览器中生成、渲染和显示 PDF 文件。

在浏览器中查看 PDF 是否需要第三方插件?

不,现代浏览器已内置了 PDF 浏览器,在提供具有正确 MIME 类型的 PDF 文件时会自动激活。IronPDF 可帮助确保您的 PDF 得到正确的服务。

在 ASP.NET Core MVC 中使用 IronPDF 的优势是什么?

IronPDF for .NET 是一个 .NET PDF 库,可简化在 ASP.NET Core MVC 应用程序中生成和渲染 PDF 文档的过程,提高工作效率并简化 PDF 管理。

IronPDF 能否与现有的浏览器 PDF 查看器一起使用?

是的,IronPDF 可与现有的浏览器 PDF 查看器无缝配合,确保 PDF 文件以正确的 MIME 类型提供,以便在浏览器中自动显示。

IronPDF 是否经常更新?

是的,IronPDF 是一个经常更新的 .NET PDF 库,为在 ASP.NET Core MVC 应用程序中处理 PDF 文档提供了最新的功能和改进。

IronPDF 如何处理网络应用程序中的 PDF 生成?

IronPDF 提供了从各种内容类型生成 PDF 的强大功能,允许开发人员在网络应用程序中创建动态和交互式 PDF 文档。

PDF 文件应使用哪种 MIME 类型?

为确保在浏览器中正确显示,PDF 文件应以 MIME 类型 "application/pdf "提供。IronPDF 可协助高效管理这方面的工作。

我可以在 IronPDF 中自定义 PDF 渲染吗?

是的,IronPDF 为渲染 PDF 提供了广泛的自定义选项,允许您定制输出以满足特定的设计和功能要求。

IronPDF 是否仅支持 ASP.NET Core MVC 应用程序?

虽然 IronPDF 在 ASP.NET Core MVC 应用程序中表现出色,但它也具有多功能性,可以与其他 .NET 应用程序一起使用,处理 PDF 功能。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

钢铁支援团队

我们每周 5 天,每天 24 小时在线。
聊天
电子邮件
打电话给我