在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
IronPDF 是一个著名的 C# 库,可与 Blazor 应用程序配合使用。本评论将指导您使用 IronPDF 在 Blazor 应用程序中嵌入 PDF 报告,展示其无缝集成和功效。
在强大的 IronPDF .NET PDF 库的帮助下,开发人员可以快速创建、阅读和处理 PDF 文档。IronPDF 具有 内置 Chrome 浏览器引擎 并提供丰富实用的强大功能。其中包括将 HTML5、JavaScript、CSS 和图像转换为 PDF 的功能,为 PDF 文档添加独特页眉和页脚的功能,以及精确生成在网络浏览器中显示的 PDF 的功能。IronPDF 支持各种网络技术,包括 HTML、ASPX、Razor Pages 和 MVC 框架。
IronPDF 的主要属性如下:
Blazor 是一个 Web 应用程序框架,它可以使用 Web Assembly 以 C# 和 HTML 创建客户端 Web 应用程序。
Web Assembly 应用程序以二进制指令格式发送到浏览器,可以接近原生的速度运行。这为 C# 等语言在浏览器内运行创造了新的潜力。
首先,打开Microsoft Visual Studio应用程序,从文件菜单中选择 "新建项目"。然后选择 "Blazor Server App"。
在 Visual Studio 中创建新项目
输入项目名称并选择文件路径。然后点击 创建 按钮。
选择新Blazor应用程序的名称和位置
选择所需的 .NET Framework (我们将在本教程中使用 .NET 6.0)如下图所示:
使用 .NET 6.0 框架在 Visual Studio 中创建新项目
现在,Microsoft Visual Studio 将生成 Blazor 应用程序的结构。
接下来,将 IronPDF 库添加到这个新项目中。
IronPDF 库可以通过四种方式下载和安装:
Visual Studio 提供了 NuGet 包管理器,以协助将库直接安装到项目中。下面的截图显示了如何打开 NuGet 包管理器。
访问 Visual Studio 的 NuGet 软件包管理器
使用 "浏览 "选项卡下的搜索栏搜索 "IronPDF",如下图所示:
在 NuGet 软件包管理器图形用户界面中搜索 IronPDF 库
上图显示了相关搜索结果的列表。选择所需的选项,将软件包安装到项目中。
在 Visual Studio 中,转到 工具 > NuGet 软件包管理器 > 软件包管理器控制台
在 "软件包管理器控制台 "选项卡中输入以下一行:
Install-Package IronPdf
现在,软件包将被下载并安装到当前项目中。
使用 NuGet 软件包管理器控制台安装 IronPDF 库
安装 IronPDF 库的第三种方法是直接从 NuGet 网站下载软件包。
导航至 https://www.nuget.org/packages/IronPdf/
点击 IronPDF 网站上的以下链接 下载最新软件包 直接。
下载后,请按照以下步骤将软件包添加到项目中:
本教程中的 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
上面的代码片段使用两种方法从 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>
上述 JavaScript 函数从 Blazor 接收 Base64 数据并将其转换为 blob,然后保存到客户端位置。
或者使用 保存为 方法中的 ChromePdfRenderer 类还可用于将 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>")
前面的示例使用了 将Html渲染为Pdf 实例方法将任何 HTML 字符串转换为 PDF 内容。此外,SaveAs
方法可用于前面描述的程序,将这些内容保存在客户端计算机上。
在本教程中创建的 Blazor PDF 生成应用程序
上面的截图显示了本教程中开发的网络应用程序。点击下载按钮将触发 C# 代码来生成 PDF 内容,并触发 JavaScript 函数在客户端下载 PDF 内容。
本文演示了如何开发一个 Blazor Web 应用程序,使用 IronPDF PDF 库从网页生成 PDF 文件。
IronPDF 并非开放源代码,不过,它有一个 免费试用密钥 这样,您就可以在生产中使用它,而无需水印。