使用 IRONPDF

使用 Blazor 教程創建 PDF 文件

已更新 2024年2月11日
分享:

IronPDF,一個著名的C#庫,與Blazor應用程式一起工作。本評論將指導您使用IronPDF將PDF報告嵌入Blazor應用程式中,展示其無縫整合和高效能。

1. IronPDF 功能

開發人員可以快速地使用強大的 IronPDF .NET PDF 程式庫來建立、讀取和處理 PDF 文件。IronPDF擁有 內建的Chrome引擎 並提供豐富且強大的功能。其中包括將 HTML5、JavaScript、CSS 和圖片轉換為 PDF 的能力,為 PDF 文件添加獨特的頁眉和頁腳的能力,以及生成與瀏覽器中顯示完全一致的 PDF。IronPDF 支持各種網頁技術,包括 HTML、ASPX、Razor Pages 和 MVC 框架。

IronPDF 的主要特性如下:

IronPDF 可以 提取和/或移除照片 從現有的 PDF 文件

  • IronPDF 可以添加文字、照片、書籤、 浮水印,和其他元素添加到 PDF 文件
  • IronPDF 使它變得簡單 合併和拆分頁面 一個或多個 PDF 文件。
  • IronPDF 可以處理網頁資源,例如 JavaScript、CSS 和媒體文件,並將它們呈現成 PDF 文件,就像在瀏覽器中顯示一樣。
  • IronPDF 支援所有 .NET 框架,包括 .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 中创建新项目

输入项目名称并选择文件路径。然后,点击 Create 按钮。

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

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

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

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

在 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 檔案教程,圖四:訪問 Visual Studio 的 NuGet 套件管理器

存取 Visual Studio 的 NuGet 套件管理員

使用「瀏覽」標籤下的搜尋欄位,來搜尋「IronPDF」,如下圖所示:

使用Blazor建立PDF檔案教學,圖5:在NuGet套件管理器GUI中搜尋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 套件。

導航至 https://www.nuget.org/packages/IronPdf/

  • 從右側菜單中點擊「下載套件」選項。
  • 在您的文件系統上打開下載的套件。它將自動安裝。
  • 重新加載解決方案並開始在您的項目中使用它。

3.4 直接從 IronPDF 網站下載

點擊此鏈接在 IronPDF 網站上下载 下載最新套件 直接。

下載後,請按照以下步驟將套件添加到您的專案中:

  • 從解決方案視窗中右鍵點擊專案。
  • 選擇“參考”選項,然後導航到之前下載的資料庫位置。
  • 點擊確定,將資料庫添加為參考。

4. 在 Blazor Server App 中創建 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 的 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,然後保存到客戶端位置。

此外, 保存為 方法 從 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#

上述範例使用了 RenderHtmlAsPdf 將任何 HTML 字串轉換為 PDF 內容的實例方法。此外,可以在先前描述的過程中使用 SaveAs 方法將此內容儲存在客戶端電腦上。

使用Blazor建立PDF檔案教學,圖7:本教學中建立的Blazor PDF產生應用程序

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

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

結論

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

IronPDF 不是開源的,但是,它提供了一個 免費試用密鑰 允許您在生產環境中使用它而沒有浮水印。

< 上一頁
Blazor PDF 檢視器教程
下一個 >
使用 IronPDF 在 .NET MAUI 中建立 PDF 文件

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >