使用 IRONPDF

使用 Blazor 教程創建 PDF 文件

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 可以使用特定的 User-Agent、Proxy、Header 和 Cookie 配置從其 URL 生成網頁的 PDF 文件
  • IronPDF 可以使用表單變量生成位於登入表單後的網頁的 PDF 文件
  • IronPDF 可以從現有的 PDF 文件中提取和/或刪除照片
  • IronPDF 可以將文字、照片、書籤、浮水印和其他元素添加到 PDF 文件中
  • IronPDF 可以輕鬆合併和分割一個或多個 PDF 文件的頁面。
  • IronPDF 可以處理網頁資源,如 JavaScript、CSS 和媒體文件,並將它們渲染成 PDF 文件,就像在瀏覽器中顯示一樣。
  • IronPDF 支援所有 .NET 框架,包括 .NET Core、.NET Standard 等。

2. 什麼是Blazor?

Blazor 是一個網頁應用程式框架,使得使用 Web Assembly 在 C# 和 HTML 中建立客戶端網頁應用程式成為可能。

Web Assembly 應用程式以二進位指令格式發送到瀏覽器,可以以接近本機速度運行。 這為在瀏覽器中執行像 C# 這樣的語言創造了新的潛力。

在 Visual Studio 中建立新專案

首先,打開 Microsoft Visual Studio 應用程式,然後從檔案選單中選擇「新專案」。 然後,選擇「Blazor Server 應用」。

使用 Blazor 教程創建 PDF 文件,圖 1:在 Visual Studio 中創建一個新項目

在 Visual Studio 中創建新專案

輸入專案名稱並選擇檔案路徑。 然後,點擊創建按鈕。

使用 Blazor 教學建立 PDF 檔案,圖 2:選擇新 Blazor 應用程式的名稱和位置

選擇新 Blazor 應用程式的名稱和位置

選擇所需的 .NET Framework(在本教程中我們將使用 .NET 6.0),如下面的截圖所示:

使用 Blazor 教程創建 PDF 文件,圖 3:在 Visual Studio 中使用 .NET 6.0 框架創建新項目

在 Visual Studio 中使用 .NET 6.0 框架創建新項目

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 包管理器 GUI 中搜索 IronPDF 庫

在 NuGet 套件管理器 GUI 中搜尋 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
$vbLabelText   $csharpLabel

上面的程式碼片段使用了兩種方法從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>
HTML

上面的 JavaScript 函數從 Blazor 接收 Base64 資料,並在保存到客戶端位置之前將其轉換為 blob。

或者,可以使用SaveAs方法來自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>")
$vbLabelText   $csharpLabel

上述例子使用RenderHtmlAsPdf實例方法將任何HTML字符串轉換為PDF內容。 此外,可以在先前描述的程序中使用SaveAs方法將此內容保存到客戶端的計算機上。

使用 Blazor 建立 PDF 文件教程,圖 7:此教程中建立的 Blazor PDF 生成應用程式

在本教程中創建的 Blazor PDF 生成應用程式

上面的截圖顯示了在本教程中開發的網路應用程式。 點擊下載按鈕會觸發 C# 代碼生成 PDF 內容,並在客戶端使用 JavaScript 函數下載 PDF 內容。

結論

本文示範了如何開發一個使用IronPDF PDF庫從網頁生成PDF文件的Blazor Web應用程式。

IronPDF不是開源的,但是免費試用金鑰允許您在生產環境中使用它而不會有浮水印。

Chipego
奇佩戈·卡林达
軟體工程師
Chipego 擁有天生的傾聽技能,這幫助他理解客戶問題,並提供智能解決方案。他在獲得信息技術理學學士學位後,于 2023 年加入 Iron Software 團隊。IronPDF 和 IronOCR 是 Chipego 專注的兩個產品,但隨著他每天找到新的方法來支持客戶,他對所有產品的了解也在不斷增長。他喜歡在 Iron Software 的協作生活,公司內的團隊成員從各自不同的經歷中共同努力,創造出有效的創新解決方案。當 Chipego 離開辦公桌時,他常常享受讀好書或踢足球的樂趣。
< 上一頁
Blazor PDF 檢視器教程
下一個 >
使用 IronPDF 在 .NET MAUI 中建立 PDF 文件