使用IRONPDF

使用Blazor教程创建PDF文件

更新 2024年二月11日
分享:

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

1.IronPDF 功能

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

IronPDF 的主要属性如下:

  • IronPDF for .NET 提供在 .NET C# 应用程序中创建和修改 PDF 文件的完全控制功能
  • IronPDF可以根据网页的 url 生成 pdf 文件使用特定的用户代理、代理、头和 Cookie 配置。
  • IronPDF 可为位于以下位置的网页生成 PDF 文件使用表单变量登录表单
  • IronPDF可以提取和/或删除照片从已有的 PDF 文件
  • IronPDF 可以添加文本、照片、书签、Watermark在 PDF 文档中加入、、和其他元素
  • IronPDF 使其变得简单 合并和拆分页面一个或多个 PDF 文档。
  • IronPDF 可以处理 JavaScript、CSS 和媒体文件等网页资产,并将其渲染为 PDF 文档,就像在浏览器中显示的一样。
  • IronPDF 支持所有 .NET Framework,包括 .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 Framework 在 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 包。

导航至IronPDF 的 NuGet 网站.

  • 点击右侧菜单中的 "下载软件包 "选项。
  • 在文件系统中打开下载的软件包。 它将自动安装。
  • 重新加载解决方案并开始在项目中使用。

3.4 直接从 IronPDF 网站下载

访问 IronPDF 网站,查看下载 IronPDF 软件包直接。

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

  • 右键单击解决方案窗口中的项目。
  • 选择 "参考 "选项,然后导航到您之前下载的库的位置。
  • 单击 "确定 "将库添加为参考资料。

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.12 刚刚发布

免费NuGet下载 总下载量: 11,781,565 查看许可证 >