使用 IRONPDF

使用 Blazor 教程創建 PDF 文件

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

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 可以從網址生成網頁的 PDF 文件使用特定的使用者代理、代理伺服器、標頭和 Cookie 配置。
  • 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:使用.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 套件管理器 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
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.11 剛剛發布

免費 NuGet 下載 總下載次數: 11,436,010 查看許可證 >