使用IRONPDF

使用Blazor教程创建PDF文件

更新 2024年二月11日
分享:

IronPDF 是一个著名的 C# 库,可与 Blazor 应用程序配合使用。本评论将指导您使用 IronPDF 在 Blazor 应用程序中嵌入 PDF 报告,展示其无缝集成和功效。

1.IronPDF 功能

在强大的 IronPDF .NET PDF 库的帮助下,开发人员可以快速创建、阅读和处理 PDF 文档。IronPDF 具有 内置 Chrome 浏览器引擎 并提供丰富实用的强大功能。其中包括将 HTML5、JavaScript、CSS 和图像转换为 PDF 的功能,为 PDF 文档添加独特页眉和页脚的功能,以及精确生成在网络浏览器中显示的 PDF 的功能。IronPDF 支持各种网络技术,包括 HTML、ASPX、Razor Pages 和 MVC 框架。

IronPDF 的主要属性如下:

  • IronPDF 可在 .NET C# 应用程序中完全控制 PDF 文件的创建和修改
  • IronPDF 可以 根据网页的 URL 生成 PDF 文件 使用特定的用户代理、代理、头和 Cookie 配置。
  • IronPDF 可为位于以下位置的网页生成 PDF 文件 使用表单变量登录表单
  • IronPDF 可以 提取和/或删除照片 从已有的 PDF 文件
  • IronPDF 可添加文本、照片和书签、 水印以及其他元素到 PDF 文档
  • IronPDF 可轻松实现 合并和拆分页面 一个或多个 PDF 文档。
  • IronPDF 可以处理 JavaScript、CSS 和媒体文件等网页资产,并将其渲染为 PDF 文档,就像在浏览器中显示的一样。
  • IronPDF 支持所有 .NET 框架,包括 .NET Core、.NET Standard 等。

2.Blazor 是什么?

Blazor 是一个 Web 应用程序框架,它可以使用 Web Assembly 以 C# 和 HTML 创建客户端 Web 应用程序。

Web Assembly 应用程序以二进制指令格式发送到浏览器,可以接近原生的速度运行。这为 C# 等语言在浏览器内运行创造了新的潜力。

在 Visual Studio 中创建新项目

首先,打开Microsoft Visual Studio应用程序,从文件菜单中选择 "新建项目"。然后选择 "Blazor Server App"。

使用 Blazor 创建 PDF 文件教程,图 1:在 Visual Studio 中创建新项目

在 Visual Studio 中创建新项目

输入项目名称并选择文件路径。然后点击 创建 按钮。

使用 Blazor 创建 PDF 文件教程,图 2:选择新 Blazor 应用程序的名称和位置

选择新Blazor应用程序的名称和位置

选择所需的 .NET Framework (我们将在本教程中使用 .NET 6.0)如下图所示:

使用 Blazor 创建 PDF 文件教程,图 3:使用 .NET 6.0 框架在 Visual Studio 中创建新项目

使用 .NET 6.0 框架在 Visual Studio 中创建新项目

现在,Microsoft Visual Studio 将生成 Blazor 应用程序的结构。

接下来,将 IronPDF 库添加到这个新项目中。

3.安装 IronPDF 库

IronPDF 库可以通过四种方式下载和安装:

  • 使用 Visual Studio 的 NuGet 包管理器
  • 使用 Visual Studio 命令行
  • 直接从 NuGet 网站下载
  • 直接从 IronPDF 网站下载

3.1 使用 Visual Studio 的 NuGet 包管理器

Visual Studio 提供了 NuGet 包管理器,以协助将库直接安装到项目中。下面的截图显示了如何打开 NuGet 包管理器。

使用 Blazor 创建 PDF 文件教程,图 4:访问 Visual Studio 的 NuGet 包管理器

访问 Visual Studio 的 NuGet 软件包管理器

使用 "浏览 "选项卡下的搜索栏搜索 "IronPDF",如下图所示:

使用 Blazor 创建 PDF 文件教程,图 5:在 NuGet 软件包管理器图形用户界面中搜索 IronPDF 库

在 NuGet 软件包管理器图形用户界面中搜索 IronPDF 库

上图显示了相关搜索结果的列表。选择所需的选项,将软件包安装到项目中。

3.2 使用 Visual Studio 命令行

在 Visual Studio 中,转到 工具 > NuGet 软件包管理器 > 软件包管理器控制台

在 "软件包管理器控制台 "选项卡中输入以下一行:

Install-Package IronPdf

现在,软件包将被下载并安装到当前项目中。

使用 Blazor 创建 PDF 文件教程,图 6:使用 NuGet 软件包管理器控制台安装 IronPDF 库

使用 NuGet 软件包管理器控制台安装 IronPDF 库

3.3 直接从 NuGet 网站下载

安装 IronPDF 库的第三种方法是直接从 NuGet 网站下载软件包。

导航至 https://www.nuget.org/packages/IronPdf/

  • 点击右侧菜单中的 "下载软件包 "选项。
  • 在文件系统中打开下载的软件包。它将自动安装。

  • 重新加载解决方案并开始在项目中使用。

3.4 直接从 IronPDF 网站下载

点击 IronPDF 网站上的以下链接 下载最新软件包 直接。

下载后,请按照以下步骤将软件包添加到项目中:

  • 在解决方案窗口中右键单击项目。
  • 选择 "Reference(参考)"选项,然后导航到之前下载的库的位置。

  • 单击 "确定 "将库添加为引用。

4.在 Blazor 服务器应用程序中创建 PDF 文档

本教程中的 Blazor 应用程序将使用 IronPDF 通过 URL 获取网页的 HTML 内容,并将其转换为 PDF 文档。

在项目中包含的 .razor 文件中输入以下源代码。

@using IronPdf;

public void ExportData()
{
    try
    {
        string fileName = "Demo.pdf";
        var renderer = new IronPdf.ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
        JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
    }
    catch (Exception ex)
    {

    }
}
@using IronPdf;

public void ExportData()
{
    try
    {
        string fileName = "Demo.pdf";
        var renderer = new IronPdf.ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
        JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
    }
    catch (Exception ex)
    {

    }
}
Private IronPdf As [using]

Public Sub ExportData()
	Try
		Dim fileName As String = "Demo.pdf"
		Dim renderer = New IronPdf.ChromePdfRenderer()
		Dim pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata")
		JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()))
	Catch ex As Exception

	End Try
End Sub
VB   C#

上面的代码片段使用两种方法从 HTML 生成 PDF 文档。第一个是 IronPDF 的 将URL渲染为PDF 方法,该方法可从给定的 URL 下载 HTML 内容并将其转换为 PDF 格式。

第二个方法是静态的 JSRuntime.InvokeVoidAsync 方法,它会触发浏览器的 JavaScript 引擎调用网页范围内的 JavaScript 函数,将 PDF 内容保存到客户端文件系统上的文件中。

该 JavaScript 函数包含在下面:

<script type="text/JavaScript">
    function saveAsFile(filename, bytesBase64) {
        if (navigator.msSaveBlob) {
            //Download document in Edge browser
            var data = window.atob(bytesBase64);
            var bytes = new Uint8Array(data.length);
            for (var i = 0; i < data.length; i++) {
                bytes [i] = data.charCodeAt(i);
            }
            var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
            navigator.msSaveBlob(blob, filename);
            window.navigator.msSaveOrOpenBlob(blob );
        }
        else {
            var link = document.createElement('a');
            link.download = filename;
            link.href = "data:application/octet-stream;base64," + bytesBase64;
            document.body.appendChild(link); // Needed for Firefox
            link.click();
            document.body.removeChild(link);
        }
    }
</script>
<script type="text/JavaScript">
    function saveAsFile(filename, bytesBase64) {
        if (navigator.msSaveBlob) {
            //Download document in Edge browser
            var data = window.atob(bytesBase64);
            var bytes = new Uint8Array(data.length);
            for (var i = 0; i < data.length; i++) {
                bytes [i] = data.charCodeAt(i);
            }
            var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
            navigator.msSaveBlob(blob, filename);
            window.navigator.msSaveOrOpenBlob(blob );
        }
        else {
            var link = document.createElement('a');
            link.download = filename;
            link.href = "data:application/octet-stream;base64," + bytesBase64;
            document.body.appendChild(link); // Needed for Firefox
            link.click();
            document.body.removeChild(link);
        }
    }
</script>
HTML

上述 JavaScript 函数从 Blazor 接收 Base64 数据并将其转换为 blob,然后保存到客户端位置。

或者使用 保存为 方法中的 ChromePdfRenderer 类还可用于将 PDF 文档保存到浏览器的本地存储中。

5.从 HTML 字符串创建 PDF 文档

以下代码片段展示了如何将 HTML 字符串转化为文档。

var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>")
var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>")
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'var pdf = New IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>")
VB   C#

前面的示例使用了 将Html渲染为Pdf 实例方法将任何 HTML 字符串转换为 PDF 内容。此外,SaveAs方法可用于前面描述的程序,将这些内容保存在客户端计算机上。

使用 Blazor 创建 PDF 文件教程,图 7:在本教程中创建的 Blazor PDF 生成应用程序

在本教程中创建的 Blazor PDF 生成应用程序

上面的截图显示了本教程中开发的网络应用程序。点击下载按钮将触发 C# 代码来生成 PDF 内容,并触发 JavaScript 函数在客户端下载 PDF 内容。

结论

本文演示了如何开发一个 Blazor Web 应用程序,使用 IronPDF PDF 库从网页生成 PDF 文件。

IronPDF 并非开放源代码,不过,它有一个 免费试用密钥 这样,您就可以在生产中使用它,而无需水印。

< 前一页
Blazor PDF 查看器教程
下一步 >
使用 IronPDF 在 .NET MAUI 中创建 PDF 文件

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 10,746,704 查看许可证 >