在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
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 Assembly 在 C# 和 HTML 中建立客戶端網頁應用程式成為可能。
Web Assembly 應用程式以二進位指令格式發送到瀏覽器,可以以接近本機速度運行。 這為在瀏覽器中執行像 C# 這樣的語言創造了新的潛力。
首先,打開 Microsoft Visual Studio 應用程式,然後從檔案選單中選擇「新專案」。 然後,選擇「Blazor Server 應用」。
在 Visual Studio 中建立新專案
輸入專案名稱並選擇檔案路徑。 然後,點擊創建按鈕。
選擇新的 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 套件管理器 GUI 中搜尋 IronPDF 程式庫
在上圖中,顯示了相關搜索結果的列表。 選擇所需的選項將套件安裝到您的專案中。
在 Visual Studio 中,前往 工具 > NuGet 套件管理員 > 套件管理員主控台
在「套件管理員主控台」標籤中輸入以下內容:
Install-Package IronPdf
現在將在當前專案中下載並安裝這個套件。
使用 NuGet 套件管理主控台安裝 IronPDF 庫
安裝 IronPDF 函式庫的第三種方法是直接從網站下載 NuGet 套件。
造訪 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 不是開源的,但是,一个免費試用密鑰允許您在生產環境中使用它而沒有浮水印。