跳至页脚内容
使用IRONPDF

使用 Telerik Blazor PDF 查看器功能增强您的应用程序

将 Telerik UI 的精美 PDF 查看器组件与 IronPDF 基于 Chrome 的渲染引擎相结合,即可在 Blazor 中创建一个完整的 PDF 解决方案。 此设置允许您从 HTML 生成动态 PDF,同时为用户提供专业的查看功能,例如搜索、缩放和导航控制。

在构建现代 Blazor 应用程序时,可靠的 PDF 查看功能通常是必不可少的。 虽然 Telerik UI for Blazor 提供了一个优秀的 PDF 查看器组件,但将其与IronPDF 的高效生成引擎集成,可以为在应用程序中处理 PDF 文档提供完整的解决方案。 此集成使您能够从 HTML 创建 PDF、将 URL 转换为 PDF 以及将 CSHTML 视图渲染为 PDF,同时提供专业的查看功能。

为什么要将Telerik UI与IronPDF结合使用?

Telerik Blazor PDF查看器在显示PDF方面表现出色,具备文本搜索、缩放控制和可自定义工具栏等功能。 但是,当您需要从 HTML、URL 或 Razor 视图动态生成 PDF 文件时,IronPDF 提供了基于 Chrome 的渲染引擎,而 Telerik UI 的文档处理库中并未包含该引擎。 IronPDF 的 Chrome 渲染引擎可确保在将网页内容转换为 PDF 时达到像素级的精确度。

这种混合方法让您既可以使用 IronPDF 出色的 PDF 创建功能,又可以使用 Telerik 精致的 UI 组件进行显示。 在对旧版 Web 项目进行现代化改造或创建需要生成和查看功能的 Blazor PDF 解决方案时,它尤其有效。 您还可以在显示生成的 PDF 文件之前,为其添加页眉和页脚应用水印以及设置自定义边距。

这种整合的价值何在?

该组合满足了常见的 PDF 工作流程需求——动态生成发票、报告或文档,同时为用户提供熟悉的 PDF 查看控件。 IronPDF 能够处理基本的 HTML 转 PDF 转换器无法处理的复杂渲染场景,包括 JavaScript 执行、CSS3 支持和 Web 字体渲染,而 Telerik 则提供了用户期望的专业界面。

何时应该同时使用这两个库?

这种方法最适用于既需要生成 PDF 又需要查看 PDF 的应用,例如文档管理系统、报告仪表板或客户门户。 如果您只需要显示现有的 PDF 文件,那么 Telerik 就足够了; 如果您只需要生成文件而无需查看,那么 IronPDF 单独使用就完全足够了。 对于需要数字签名、PDF/A 合规性或 PDF 安全功能的企业场景,该组合提供了完整的功能。

如何安装和设置项目?

在 Blazor 项目中设置这两个库需要安装必要的 NuGet 包。 您可以使用程序包管理器控制台或 .NET CLI。 IronPDF 可在NuGet.org上获取,并可与 .NET 10 及更高版本配合使用。 更多详情请参阅IronPDF NuGet 安装指南

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

安装完成后,请配置您的 Program.cs 以添加服务:

builder.Services.AddTelerikBlazor();
builder.Services.AddSingleton<ChromePdfRenderer>();
builder.Services.AddTelerikBlazor();
builder.Services.AddSingleton<ChromePdfRenderer>();
$vbLabelText   $csharpLabel

此配置在您的应用程序中启用Telerik UI for Blazor组件和IronPDF的渲染功能。 已经熟悉 Telerik 的套件用户会发现此集成非常简单。 对于更复杂的场景,您可能需要探索异步 PDF 生成或自定义日志记录配置。

您应该考虑哪些配置选项?

除了基本设置之外,您可能还需要全局配置 IronPDF 的渲染选项,或者为自定义 PDF 生成服务设置依赖注入。 根据应用程序的需求,考虑添加 PDF 压缩、渲染超时或自定义字体管理等配置。

你们如何处理这两款产品的授权许可?

这两个库都需要商业许可才能用于生产环境。 IronPDF 许可证基于开发人员数量和部署情况,而 Telerik UI for Blazor 通常作为 DevCraft 捆绑包的一部分提供。 请确保您拥有适用于部署方案的相应许可证。 了解更多关于IronPDF 许可选项以及如何在您的应用程序中应用许可证密钥的信息。 您也可以先试用IronPDF 的免费试用版来测试集成功能,然后再购买。

如何使用 IronPDF 创建用于显示的 PDF 文档?

IronPDF将HTML内容转换为Telerik PDF查看器可显示的PDF文件。 以下是如何从 HTML 生成 PDF 并使其可供查看的方法。 您还可以将 HTML 字符串转换为 PDF或直接渲染 HTML 文件:

@page "/generate-pdf"
@inject ChromePdfRenderer Renderer
@code {
    private byte[] pdfData;
    private async Task GeneratePDF()
    {
        // Create PDF from HTML content
        var pdf = await Renderer.RenderHtmlAsPdfAsync(@"
            <h1>Invoice Report</h1>
            <table>
                <tr><td>Item</td><td>Amount</td></tr>
                <tr><td>Service</td><td>$100</td></tr>
            </table>");
        // Convert to byte array for Telerik viewer
        pdfData = pdf.BinaryData;
    }
}
@page "/generate-pdf"
@inject ChromePdfRenderer Renderer
@code {
    private byte[] pdfData;
    private async Task GeneratePDF()
    {
        // Create PDF from HTML content
        var pdf = await Renderer.RenderHtmlAsPdfAsync(@"
            <h1>Invoice Report</h1>
            <table>
                <tr><td>Item</td><td>Amount</td></tr>
                <tr><td>Service</td><td>$100</td></tr>
            </table>");
        // Convert to byte array for Telerik viewer
        pdfData = pdf.BinaryData;
    }
}
Imports System.Threading.Tasks
Imports Microsoft.AspNetCore.Components
Imports DinkToPdf

@page "/generate-pdf"
@inject ChromePdfRenderer Renderer

@code
    Private pdfData As Byte()

    Private Async Function GeneratePDF() As Task
        ' Create PDF from HTML content
        Dim pdf = Await Renderer.RenderHtmlAsPdfAsync("
            <h1>Invoice Report</h1>
            <table>
                <tr><td>Item</td><td>Amount</td></tr>
                <tr><td>Service</td><td>$100</td></tr>
            </table>")
        ' Convert to byte array for Telerik viewer
        pdfData = pdf.BinaryData
    End Function
End Code
$vbLabelText   $csharpLabel

这段代码会生成一个可供显示的PDF文档。 IronPDF 的渲染引擎确保您的 HTML、CSS 和 JavaScript 内容完美渲染,并在用户通过 PDF 查看器组件查看时保持所有格式。 您还可以向 PDF 添加图像、嵌入 Azure Blob 存储中的图像,或直接将图像转换为 PDF。 探索IronPDF 的全部功能,了解其可能性。

ChromePdfRenderer 类提供了丰富的自定义选项。 您可以设置页面大小、边距、页眉、页脚,并为印刷媒体定义自定义 CSS——这些功能是对 Telerik 查看功能的补充。 对于高级场景,请探索分页符控制、视口配置或基本 URL 设置,以正确加载资源。

生成的 PDF 看起来像什么?

生成的PDF将类似于这样:

这是一个PDF文档查看器,显示了一个包含"项目"和"金额"列的表格发票报告,其中显示了一项金额为100美元的服务条目,展示了IronPDF的HTML转PDF渲染功能,格式清晰,布局专业。

如何自定义PDF生成设置?

IronPDF 通过 ChromePdfRenderOptions 提供广泛的自定义功能,允许您控制页面方向、大小、边距和 JavaScript 执行。 您还可以在将 PDF 传递给查看器之前,以编程方式添加水印、应用页眉和页脚以及添加页码。 为了更好地组织文档,可以考虑添加书签或创建目录。 IronPDF 文档详细介绍了所有可用选项。

如何集成 Telerik 的 PDF 查看器 Blazor 组件?

使用 IronPDF 生成 PDF 文件后,使用 Telerik Blazor PDF 查看器显示该文件非常简单:

<TelerikPdfViewer Data="@pdfData"
                  Height="600px"
                  Zoom="1.0">
    <PdfViewerToolBar>
        <PdfViewerToolBarPagerTool />
        <PdfViewerToolBarZoomTool />
        <PdfViewerToolBarSearchTool />
        <PdfViewerToolBarDownloadTool />
    </PdfViewerToolBar>
</TelerikPdfViewer>
<TelerikPdfViewer Data="@pdfData"
                  Height="600px"
                  Zoom="1.0">
    <PdfViewerToolBar>
        <PdfViewerToolBarPagerTool />
        <PdfViewerToolBarZoomTool />
        <PdfViewerToolBarSearchTool />
        <PdfViewerToolBarDownloadTool />
    </PdfViewerToolBar>
</TelerikPdfViewer>
$vbLabelText   $csharpLabel

此组件配置提供了与PDF互动的基本工具。 工具栏包括导航按钮、缩放级别控制和搜索功能。 您可以根据应用需求定制显示哪些工具。 Data 属性提供要显示的 PDF 值。 为了提高功能性,您可能需要实现文本提取或 PDF 搜索功能。

Telerik UI for Blazor查看器自动处理浏览器兼容性,在现代浏览器中无需插件即可使用。 对于使用.NET MAUI的桌面应用程序,这两个库都支持跨平台部署,使您可以在Web和桌面平台上创建一致的PDF体验。

工具栏有哪些自定义选项?

Telerik 的 PDF 查看器工具栏具有高度可定制性——您可以添加、删除或重新排列工具,创建自定义按钮,甚至构建完全自定义的工具栏。 常见的自定义功能包括添加打印按钮、全屏切换或应用程序特定的操作。 您还可以将 PDF 打印功能或 PDF 表单编辑功能集成到自定义工具栏中。 Telerik 的官方文档提供了完整的自定义选项列表。

如何处理大型PDF文件?

对于大型 PDF 文件,可以考虑使用 PDF 内存流实现渐进式加载或流式传输。 Telerik 查看器支持从 URL 加载 PDF,这有助于提高性能。 您还可以对生成的 PDF 文件进行服务器端缓存,以避免重新生成相同的文档。 为了优化性能,可以探索PDF 合并和拆分技术,以减小文件大小或将文档拆分成易于管理的块。

这些组件如何协同工作?

该集成创建了一个高效的工作流程,其中 IronPDF 负责繁重的 PDF 创建工作,而 Telerik 则提供流畅的查看体验。 以下是一个完整的示例,演示了如何从包含动态内容的 HTML 创建 PDF:

@page "/document-viewer"
@inject ChromePdfRenderer Renderer
<div class="row">
    <div class="col-md-12">
        <TelerikButton OnClick="@LoadDocument">
            Load PDF Document
        </TelerikButton>
        @if (documentData != null)
        {
            <TelerikPdfViewer Data="@documentData"
                            Height="800px">
            </TelerikPdfViewer>
        }
    </div>
</div>
@code {
    private byte[] documentData;
    private async Task LoadDocument()
    {
        // Generate dynamic PDF content
        var html = await GenerateReportHtml();
        var pdf = await Renderer.RenderHtmlAsPdfAsync(html);
        documentData = pdf.BinaryData;
    }
    private async Task<string> GenerateReportHtml()
    {
        // Build HTML dynamically
        return "<h1>Dynamic Report</h1><p>Report content here</p>";
    }
}
@page "/document-viewer"
@inject ChromePdfRenderer Renderer
<div class="row">
    <div class="col-md-12">
        <TelerikButton OnClick="@LoadDocument">
            Load PDF Document
        </TelerikButton>
        @if (documentData != null)
        {
            <TelerikPdfViewer Data="@documentData"
                            Height="800px">
            </TelerikPdfViewer>
        }
    </div>
</div>
@code {
    private byte[] documentData;
    private async Task LoadDocument()
    {
        // Generate dynamic PDF content
        var html = await GenerateReportHtml();
        var pdf = await Renderer.RenderHtmlAsPdfAsync(html);
        documentData = pdf.BinaryData;
    }
    private async Task<string> GenerateReportHtml()
    {
        // Build HTML dynamically
        return "<h1>Dynamic Report</h1><p>Report content here</p>";
    }
}
@page "/document-viewer"
@inject ChromePdfRenderer Renderer
<div class="row">
    <div class="col-md-12">
        <TelerikButton OnClick="@LoadDocument">
            Load PDF Document
        </TelerikButton>
        @If documentData IsNot Nothing Then
            <TelerikPdfViewer Data="@documentData"
                              Height="800px">
            </TelerikPdfViewer>
        End If
    </div>
</div>
@code
    Private documentData As Byte()
    
    Private Async Function LoadDocument() As Task
        ' Generate dynamic PDF content
        Dim html = Await GenerateReportHtml()
        Dim pdf = Await Renderer.RenderHtmlAsPdfAsync(html)
        documentData = pdf.BinaryData
    End Function

    Private Async Function GenerateReportHtml() As Task(Of String)
        ' Build HTML dynamically
        Return "<h1>Dynamic Report</h1><p>Report content here</p>"
    End Function
End Code
$vbLabelText   $csharpLabel

集成解决方案是什么样的?

一张专业的发票 PDF 文件在 Telerik Blazor PDF 查看器中显示,其中包含多个项目,包括咨询服务和软件许可,总金额达 550 美元,这充分展现了 IronPDF 的生成功能与 Telerik 查看组件(带有完整的工具栏控件)之间的无缝集成。

这种模式让您可以随需生成PDF并立即显示。 当有新数据可用时,该组件会做出响应式更新,与传统的下载和打开工作流程相比,可改善用户体验。 OnClick 事件触发文档加载过程。 您可以通过合并多个 PDF 、添加附件或实施版本跟踪来进一步改进此功能。

对于需要加载现有 PDF 文件的情况,IronPDF 可以在将其传递给查看器之前对其进行处理。 这使得添加水印、页面操作或在显示前提取内容等功能成为可能。 高级用户还可以对敏感文档实施 PDF 清理或编辑。 您还可以使用 PDF 表单在向最终用户展示文档之前预先填写表单字段。

如何添加交互式功能?

除了基本的查看功能外,您还可以通过在显示之前使用 IronPDF 处理 PDF 来实现表单填写、数字签名或注释等功能。 这样,您就可以创建交互式文档工作流程,同时保持 Telerik 查看器的用户友好界面。 您可以通过编程方式对 PDF 文件进行签名,或者为电子签名工作流程添加签名字段。 这些功能使得这种方法适用于需要可审计性和文件完整性的受监管行业。

那么,性能优化方面呢?

对于复杂文档,可以考虑使用托管服务或队列来实现后台 PDF 生成。 缓存常用 PDF 文件,并在存储或传输 PDF 数据时使用压缩,以提高应用程序的响应速度。 对于高容量场景,可以探索异步和多线程选项或并行 PDF 生成。 您还可以通过自定义渲染延迟来改善 JavaScript 密集型内容的渲染效果。

为什么选择这种混合方法?

虽然 Telerik UI for Blazor 提供了出色的查看功能,但它在 PDF 生成能力方面无法与 IronPDF 相媲美。 IronPDF 基于 Chrome 的引擎可以渲染复杂的布局、表单和样式化内容,而一些简单的文档处理库可能难以处理这些内容。 两者结合,即可获得专业的 PDF 生成功能和专业的查看界面。

这种方法为需要探索不同查看选项的开发人员提供了灵活性。 您可以用更简单的iframe显示替换Telerik查看器,或者在保留IronPDF生成能力的情况下开发自定义查看组件。 该解决方案能够很好地扩展,从简单的 HTML 到 PDF 转换到复杂的报表生成场景均可适用。 IronPDF 主页提供了所有支持用例的概述。

成本效益考量因素有哪些?

虽然使用两个商业库会增加许可费用,但节省的开发时间和取得的专业成果通常足以证明这项投资是值得的。 考虑从头开始构建 PDF 生成和查看功能——组合解决方案可提供即时、可直接投入生产使用的功能。 这两个库都提供了优秀的文档,其中 IronPDF 提供了完整的操作指南和代码示例,以加快开发速度。 查看IronPDF 许可页面,选择适合您团队规模和部署环境的方案。

与其他解决方案相比,这种方案有何优势?

仅使用开源库等替代方法通常需要更多的开发工作,并且可能缺乏功能或完善性。 基于云的PDF服务会带来延迟和数据隐私问题。 这种混合方法将所有内容都保留在您的应用程序中,同时提供领先的功能。 例如,您可以完全控制PDF 到图像的转换,而无需通过外部服务路由数据。 请将Telerik 文档IronPDF 文档并排查看,以了解这两个库是如何相互补充的。

下一步实施步骤是什么?

使用 IronPDF 创建 Telerik Blazor PDF 查看器,可让您同时拥有两全其美的优势:高效的 PDF 生成和流畅的查看体验。 这种组合可以帮助您构建完整的 PDF 解决方案,从而实现传统 Web 项目的现代化,并满足现代应用程序的需求。 无论部署在 Windows、Linux 还是 macOS 上,这两个库都提供跨平台支持。

无论您是在构建文档管理系统、报告工具,还是任何需要 PDF 功能的 Blazor 应用程序,此集成都能提供您的项目所需的功能和用户体验。 从简单的发票生成到复杂的报表制作,该组合解决方案能够有效处理各种不同的需求。

准备好实施这个解决方案了吗? 立即开始免费试用 IronPDF ,探索它如何改进您的 Telerik UI for Blazor 项目。 对于生产用途,请查看IronPDF 的许可选项,找到最适合您需求的方案。

常见问题解答

什么是 Telerik Blazor PDF 查看器?

Telerik Blazor PDF Viewer 是一个旨在直接在 Blazor 应用程序中显示 PDF 文档的组件,为用户提供无缝的查看体验。

IronPDF 如何增强 Telerik Blazor PDF 查看器的功能?

IronPDF 通过提供强大的 PDF 生成功能来增强 Telerik Blazor PDF 查看器,使开发人员能够在 Blazor 应用程序中高效地创建、修改和管理 PDF 文档。

为什么要将 IronPDF 与 Telerik UI for Blazor 结合使用?

将 IronPDF 与 Telerik UI for Blazor 结合使用,可以为处理 PDF 提供全面的解决方案,因为 IronPDF 为 Telerik 现有的查看器功能添加了高级生成和操作功能。

我可以在 Blazor 应用程序中使用 IronPDF 生成 PDF 吗?

是的,IronPDF 允许您在 Blazor 应用程序中生成高质量的 PDF,并提供 HTML 转 PDF 等功能以及详细的自定义选项。

在 Blazor 应用中使用 IronPDF 处理 PDF 有哪些好处?

IronPDF 提供强大的功能,例如 PDF 生成、转换和编辑功能,从而增强 Blazor 应用程序中 PDF 处理的功能和灵活性。

IronPDF 与 Telerik Blazor 组件集成是否容易?

是的,IronPDF 可以轻松与 Telerik Blazor 组件集成,以扩展其功能,为构建 Blazor 应用程序的开发人员提供无缝体验。

IronPDF为Blazor开发人员提供哪些功能?

IronPDF 提供 HTML 转 PDF、PDF 编辑以及添加页眉、页脚和水印等功能,使其成为 Blazor 开发人员的多功能工具。

IronPDF 如何改善 Blazor 应用程序中的用户体验?

IronPDF 通过实现复杂的 PDF 功能(例如轻松生成文档、自定义和集成)来改善用户体验,从而打造更动态、响应更迅速的应用程序。

IronPDF为何能成为适用于Blazor应用程序的全面PDF解决方案?

IronPDF 是一款综合解决方案,因为它结合了生成、转换和编辑功能,当与 Telerik 组件一起使用时,可以涵盖 Blazor 应用程序中 PDF 处理的所有方面。

IronPDF能否在Blazor应用程序中处理大型PDF文档?

是的,IronPDF 旨在高效处理大型 PDF 文档,确保 Blazor 应用程序运行流畅并缩短加载时间。

Curtis Chau
技术作家

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

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

钢铁支援团队

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