在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
IronPDF,一個著名的C#庫,與Blazor應用程式一起工作。本評論將指導您使用IronPDF將PDF報告嵌入Blazor應用程式中,展示其無縫整合和高效能。
開發人員可以快速地使用強大的 IronPDF .NET PDF 程式庫來建立、讀取和處理 PDF 文件。IronPDF擁有 內建的Chrome引擎 並提供豐富且強大的功能。其中包括將 HTML5、JavaScript、CSS 和圖片轉換為 PDF 的能力,為 PDF 文件添加獨特的頁眉和頁腳的能力,以及生成與瀏覽器中顯示完全一致的 PDF。IronPDF 支持各種網頁技術,包括 HTML、ASPX、Razor Pages 和 MVC 框架。
IronPDF 的主要特性如下:
IronPDF 可以 提取和/或移除照片 從現有的 PDF 文件
Blazor 是一個 Web 應用框架,讓使用 Web Assembly 在 C# 和 HTML 中創建客戶端 Web 應用成為可能。
Web Assembly 應用以二進制指令格式發送到瀏覽器,能夠以接近本機的速度運行。這為像 C# 這樣的語言能在瀏覽器中運行創造了新的潛力。
首先,打開 Microsoft Visual Studio 應用程序,從文件菜單中選擇“新建項目”。然後,選擇“Blazor Server App”。
在 Visual Studio 中创建新项目
输入项目名称并选择文件路径。然后,点击 Create 按钮。
選擇新 Blazor 應用程式的名稱和位置
選擇所需的 .NET Framework (在本教學中,我們將使用 .NET 6.0)如以下截圖所示:
在 Visual Studio 中使用 .NET 6.0 框架創建新項目
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 的 RenderUrlAsPdf
方法,從給定的 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>")
上述範例使用了 RenderHtmlAsPdf
將任何 HTML 字串轉換為 PDF 內容的實例方法。此外,可以在先前描述的過程中使用 SaveAs
方法將此內容儲存在客戶端電腦上。
在本教程中创建的 Blazor PDF 生成應用程式
上面的截圖顯示了在本教程中開發的網頁應用程式。點擊下載按鈕將觸發 C# 代碼生成 PDF 內容,並且會使用 JavaScript 函數在客戶端下載 PDF 內容。
本文展示了如何開發一個利用 IronPDF PDF 庫從網頁生成 PDF 文件的 Blazor Web 應用程序。
IronPDF 不是開源的,但是,它提供了一個 免費試用密鑰 允許您在生產環境中使用它而沒有浮水印。