跳至页脚内容
使用IRONPDF

使用 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提供了Telerik UI的文档处理库中未包含的基于Chrome的渲染引擎。 IronPDF 的Chrome 渲染引擎可确保在将网页内容转换为 PDF 时达到像素级的精确度。

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

这种整合的价值何在?

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

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

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

如何同时使用这两个库来搭建一个 Blazor 项目?

在您的Blazor项目中设置这两个库是很简单的。 首先,通过 NuGet 安装必要的软件包。 您可以按照详细的安装指南进行操作,也可以使用NuGet 包管理器

Install-Package IronPDF Telerik.UI.for.Blazor

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

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

此配置在您的应用程序中启用Telerik UI for Blazor组件和IronPDF的渲染功能。 已经熟悉 Telerik 的DevCraft套件用户会发现这种集成非常流畅。 结果是一个完全配置好的系统。 对于更复杂的场景,您可能需要探索异步 PDF 生成自定义日志记录配置

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

除了基本设置之外,您可能还需要全局配置 IronPDF 的渲染选项,或者为自定义 PDF 生成服务设置依赖注入。 根据应用程序的需求,考虑添加PDF 压缩配置、使用WaitFor 延迟进行渲染超时或自定义字体管理。 您还可以配置自定义纸张尺寸页面方向设置

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

这两个库都需要商业许可才能用于生产环境。 IronPDF 许可证是根据开发者数量和部署情况而定的,而 Telerik UI for Blazor 通常作为DevCraft捆绑包的一部分提供。 请确保您拥有适用于部署场景的相应许可证。 了解更多关于IronPDF 许可选项以及如何在您的应用程序中应用许可证密钥的信息。 有关部署指导,请查看我们的Azure 部署指南、 AWS 部署指南Docker 部署指南

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

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

@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;
    }
}
$vbLabelText   $csharpLabel

这段代码生成了一个已准备好显示的PDF文档。 IronPDF的渲染引擎确保您的HTML、CSS甚至JavaScript内容完美渲染,维护用户通过PDF查看组件查看时的所有格式。 您还可以向 PDF 添加图像嵌入 Azure Blob 存储中的图像,或直接将图像转换为 PDF

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

生成的 PDF 看起来像什么?

生成的PDF将类似于这样:

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

哪些HTML元素渲染效果最佳?

IronPDF 可以出色地处理标准 HTML 元素,包括表格、图像和样式文本。 复杂的 CSS 布局、flexbox 和网格系统都能按预期渲染。 为了获得最佳效果,请使用针对打印的 CSS 媒体查询来改进 PDF 布局。 该渲染器支持SVG 图形响应式 CSS ,甚至JavaScript 图表。 您还可以渲染 WebGL 内容以满足高级图形需求。

如何自定义PDF生成设置?

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

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

使用 IronPDF 生成 PDF 后,使用 Telerik Blazor PDF 查看器显示它非常简单。 您还可以探索在 MAUI 应用程序中查看 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体验。 此功能是查看器的原生功能。 您还可以将 PDF 导出为不同的格式,或者将 PDF 栅格化为图像,以获得更大的灵活性。

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

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

如何处理大型PDF文件?

对于大型 PDF 文件,可以考虑使用PDF 内存流实现渐进式加载或流式加载。 Telerik 查看器支持从 URL 加载 PDF,这有助于提高性能。 您还可以对生成的 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 your 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 your HTML dynamically
        return "<h1>Dynamic Report</h1><p>Report content here</p>";
    }
}
$vbLabelText   $csharpLabel

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

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

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

对于需要加载现有 PDF 文件的场景,IronPDF 可以访问 PDF DOM 对象并在将其传递给查看器之前对其进行处理。 这使得诸如添加水印页面操作或在显示前提取内容等功能成为可能。 高级用户还可以对敏感文档实施PDF 清理编辑功能

如何添加交互式功能?

除了基本的查看功能外,您还可以通过在显示之前使用 IronPDF 处理 PDF 来实现表单填写数字签名注释等功能。 这样,您就可以创建交互式文档工作流程,同时保持 Telerik 查看器的用户友好界面。 您还可以通过编程方式创建 PDF 表单,或添加签名字段以用于电子签名工作流程。

那么,性能优化方面呢?

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

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

虽然Telerik UI for Blazor提供了出色的查看功能,但它无法与IronPDF的PDF生成能力相比。 IronPDF的基于Chrome的引擎可以渲染复杂的布局、表单和样式化的内容,许多简单的文档处理库可能难以处理。 两者结合,即可获得专业的 PDF 生成功能和专业的查看界面。 这种方法还支持高级功能,例如PDF/A 合规性PDF/UA 可访问性元数据管理

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

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

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

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

仅使用开源库等替代方法通常需要更多的开发工作,并且可能缺乏功能或完善性。 基于云的PDF服务会带来延迟和数据隐私问题。 这种混合方法将所有内容都保留在您的应用程序中,同时提供领先的功能。 如需详细比较,请参阅 IronPDF 与iTextAsposeSyncfusion等替代方案的对比情况。

下一步实施步骤是什么?

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

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

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

常见问题解答

什么是 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 机器人,将他对技术的热爱与创造力相结合。