跳過到頁腳內容
使用IRONPDF

如何從字節數組在Blazor中顯示PDF

1. 簡介

IronPDF for C# PDF Solutions and Documentation 是一個C# PDF程式庫,支援處理PDF繪製並將位元組陣列轉換為PDF文件。 它還支援審閱和打印PDF以及使用註釋工具對PDF進行註釋。 使用IronPDF新增標頭和頁腳以及合併多個PDF也非常方便。

IronPDF可以與Blazor PDF檢視器一起使用來創建PDF檢視器,並能通過創建一個瀏覽器可顯示的對象URL來處理較大的檔案大小。

使用IronPDF與Blazor,開發者可以創建一個可以從位元組陣列或從檔案名稱顯示PDF的PDF檢視器,並且還支援上傳文件和處理文件下載。 IronPDF還提供一個處理PDF文件分頁的方法,這個方法與Blazor一起運作良好。

此外,IronPDF提供將位元組陣列轉換為PDF文檔、下載PDF文件以及從base64字串顯示PDF的代碼範例。 開發者也可以將PDF文件轉換為其他格式,如將圖像轉換為PDF文檔

IronPDF可以與Blazor伺服器應用程序一起使用,並可整合到Visual Studio中,以提供無縫的開發體驗。 使用IronPDF,開發者可以創建專業級別的UI元件,用於構建現代、功能豐富的Web應用程序。

本文介紹開發者如何使用IronPDF將PDF位元組陣列轉換為PDF文檔並在Blazor PDF檢視器中顯示。

2. Requirements

要跟上本教程,需要以下工具和要求:

  • Visual Studio 2019或更高版本:這需要用於創建和運行Blazor應用程序。 它可以從Visual Studio官方網站下載
  • .NET 5.0或更高版本:這需要用於構建和運行Blazor應用程序。 它可以從官方.NET下載頁面下載
  • IronPDF:這是專業級別的UI程式庫,用於將PDF位元組陣列轉換為PDF文檔並在Blazor PDF檢視器中顯示。 它可以從IronPDF官方網站下載
  • IronPdf.Blazor NuGet套件:這是用於將IronPDF整合到Blazor應用中的NuGet套件。 它可以從Visual Studio中的NuGet套件管理器安裝。

教程中討論的某些功能可能需要IronPDF的付費版本。 此外,教程假設具有Blazor和C#的基本理解。

3. Creating a Blazor Application

我們必須在開始構建我們的第一個Blazor應用程序之前創建一個新的Visual Studio專案。

  • 打開Visual Studio。
  • 點擊"創建新專案"。
  • 選擇Blazor Server App模板。

    如何在Blazor中從位元組陣列顯示PDF,圖1:在Visual Studio中創建新專案 在Visual Studio中創建新專案

  • 選擇"下一步"選項。
  • 為您的應用命名。

    如何在Blazor中從位元組陣列顯示PDF,圖2:在Visual Studio中命名新專案 在Visual Studio中命名新專案

  • 選擇"下一步"選項。
  • 選擇一個.NET Framework。

    如何在Blazor中從位元組陣列顯示PDF,圖3:為新的Blazor Server App選擇.NET 6.0 Framework 為新的Blazor Server App選擇.NET 6.0 Framework

  • 點擊創建按鈕。
  • 將創建一個新專案,如下所示。

    How to Display PDF From Byte Array in Blazor, Figure 4: Initial Project View in Visual Studio Initial Project View in Visual Studio

創建專案時會生成多個文件,提供了一個準備使用的Blazor軟體。

  • 啟動伺服器的應用程式進入點是program.cs,這也是設置應用的中介軟體和服務的位置。
  • 應用的主要部分稱為"App.razor"。
  • 應用的一些樣本網頁可在"Pages"目錄中找到。
  • 當地開發環境的不同配置檔設置定義在"Properties"目錄中的"launchSettings.json"文件中。 創建專案時,會自動指派一個埠號並儲存到此文件。

啟動模板程序。

Blazor Project Types

Blazor支持兩種專案類型:Blazor Server和Blazor WebAssembly。

前者在伺服器上運行,並使用SignalR與瀏覽器進行通信。 這意味著應用程式的UI在伺服器上渲染,而瀏覽器僅接收來自伺服器的更新。 Blazor Server的優勢在於能夠支持更大的應用程式,並且可以輕鬆處理更多的用戶。

另一方面,Blazor WebAssembly應用程式完全在瀏覽器中運行,無需伺服器即可執行。 這使得它們更加輕量和快速加載,但有一些限制,如無法支持較大的文件。

對於本教程,建議使用Blazor Server應用程式,因為它可以支持顯示和處理可能較大的PDF文件。 此外,Blazor Server可以支持審閱和打印PDF,這對於PDF檢視器應用程式可能是個有用的功能。

Installing IronPDF

在本節中,我們將討論如何使用不同的方法安裝IronPDF。

Using the Command Line

在Visual Studio中導航到工具 > NuGet套件管理器 > 套件管理器控制台

在套件管理器的終端選項卡中輸入以下行:

Install-Package IronPdf

套件下載後,將安裝在當前專案中。

How to Display PDF From Byte Array in Blazor, Figure 5: Package Manager Console UI Package Manager Console UI

Using Manage NuGet Packages for Solutions

NuGet套件管理器UI在Visual Studio中可用於將套件直接安裝到專案中。 下面的截圖顯示瞭如何打開它。

How to Display PDF From Byte Array in Blazor, Figure 6: Navigate to NuGet Package Manager Navigate to NuGet Package Manager

套件管理器UI提供了一個瀏覽功能,顯示NuGet網站上提供的套件庫列表。輸入"IronPDF"關鍵字,如下面截圖所示,以找到IronPDF套件。

How to Display PDF From Byte Array in Blazor, Figure 7: Search and install the IronPDF package in NuGet Package Manager UI Search and install the IronPDF package in NuGet Package Manager UI

通過在瀏覽區段中搜索IronPDF來定位NuGet套件管理器中的IronPDF程式庫。

選擇IronPDF套件,然後點擊"安裝"按鈕將其添加到專案中。

4. Creating and Displaying PDFs from Byte Array

要在Blazor應用中使用IronPDF生成PDF位元組陣列,首先需要將IronPDF依賴添加到項目中。

將IronPDF依賴添加到Blazor應用後,可以使用以下代碼創建PDF文檔:

// Placeholder for the URL used to generate the PDF
string _url = "";

// Method to render a URL as a PDF and convert the result to a base64 string
private async Task ViewFile()
{
    var renderer = new IronPdf.ChromePdfRenderer();

    // Render the specified URL as a PDF
    var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");

    // Convert the PDF stream to a base64 string
    _url = $"data:application/pdf;base64,{Convert.ToBase64String(pdf.Stream.ToArray())}";
}
// Placeholder for the URL used to generate the PDF
string _url = "";

// Method to render a URL as a PDF and convert the result to a base64 string
private async Task ViewFile()
{
    var renderer = new IronPdf.ChromePdfRenderer();

    // Render the specified URL as a PDF
    var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");

    // Convert the PDF stream to a base64 string
    _url = $"data:application/pdf;base64,{Convert.ToBase64String(pdf.Stream.ToArray())}";
}
$vbLabelText   $csharpLabel

上述代碼片段使用了IronPDF的RenderUrlAsPdf方法,該方法從指定的URL下載HTML文本並將其轉換為PDF格式。 然後,通過將PDF流轉換為base64格式並將其存儲在本地變數中,結果PDF資料被渲染為未處理的base64數據串。

應用程式可以使用IronPDF的ChromePdfRenderer實例上都可用。

接下來的代碼部分準備將base64 PDF數據輸出到客戶端的瀏覽器中:

@if (_url != string.Empty)
{
    // Render the PDF base64 data as a PDF in an iframe
    <iframe src="@_url" width="100%" height="500px"></iframe>
}
@if (_url != string.Empty)
{
    // Render the PDF base64 data as a PDF in an iframe
    <iframe src="@_url" width="100%" height="500px"></iframe>
}
$vbLabelText   $csharpLabel

此代碼片段將base64數據綁定到iframe元素。 這會導致瀏覽器在頁面加載時使用其內置的網頁檢視器將Base64內容渲染為適當的PDF文檔。

這是一個從base64字串生成的PDF文件的圖片。

How to Display PDF From Byte Array in Blazor, Figure 8: Viewing a PDF Generated in a Blazor app in the browser Viewing a PDF Generated in a Blazor app in the browser

Creating Simple PDF Files

這是一個使用IronPDF在C#中創建簡單PDF文檔的代碼片段範例:

// Create a simple PDF document with the text "Hello world!!"
var pdfDocument = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("Hello world!!");
// Create a simple PDF document with the text "Hello world!!"
var pdfDocument = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("Hello world!!");
$vbLabelText   $csharpLabel

使用上述段落中描述的方法,可以使用客戶的瀏覽器查看創建的PDF文檔。

6. Conclusion

本教程展示如何使用IronPDF功能和教程在Blazor Server應用中創建和顯示PDF文件。首先介紹了IronPDF及其功能,包括如何將HTML轉換為PDF、添加自定義標頭和頁腳以及合併多個PDF。 然後提供逐步指導如何安裝IronPDF,在Blazor Server應用中創建PDF文件,然後將其轉換為PDF位元組陣列並通過使用iframe在Blazor PDF檢視器中顯示。

總體而言,本教程提供了一個關於如何使用IronPDF和Blazor創建和顯示PDF文件的綜合概述。 它鼓勵讀者進一步試驗IronPDF 並嘗試不同的功能來創建功能豐富的應用。

如果您有興趣在您的Blazor專案中嘗試使用IronPDF,您可以利用IronPDF免費試用。 這給了您充足的時間來試驗程式庫的功能和功能,看看它是否滿足您的需求。

要開始,您可以參照IronPDF的Blazor文檔,它提供了有關在項目中使用庫的詳細信息。 您還可以瀏覽IronPDF部落格和教程,尋找涵蓋PDF操作和渲染相關主題的教程和文章。

我們鼓勵您花時間進一步試驗IronPDF而且Blazor,看看它們如何增強您的PDF相關開發工作。 有關Blazor PDF檢視器的更多信息,請參考以下IronPDF Blazor PDF Viewer教程

常見問題解答

如何在 Blazor 應用中從位元組陣列顯示 PDF?

您可以使用 IronPDF 將位元組陣列轉換為 base64 字符串,然後將此字符串綁定到 Blazor 應用中的 iframe 的 'src' 屬性。此方法利用瀏覽器內建的 PDF 查看器來顯示文檔。

Blazor Server 在 PDF 處理上比 Blazor WebAssembly 有何優勢?

推薦使用 Blazor Server 來處理 PDF,因為它能更高效地管理大文件,並支持 PDF 審閱和列印等功能,這對於一個全面的 PDF 查看應用至關重要。

如何將 IronPDF 整合到 Blazor 專案中?

您可以下載 IronPDF 庫,然後使用 Visual Studio 的 NuGet 套件管理器將其添加到 Blazor 專案中。在套件管理器控制台可以使用命令 Install-Package IronPDF

我可以在 Blazor 應用中把 URL 轉換為 PDF 嗎?

是的,使用 IronPDF 的 RenderUrlAsPdf 方法,您可以在 Blazor 應用中將指定 URL 的內容轉換為 PDF 格式。

是否可以在 Blazor 應用中通過程式生成 PDF?

可以,使用 IronPDF 的 RenderHtmlAsPdf 方法,您可以在 Blazor 應用中通過渲染 HTML 內容來程式化生成 PDF 文檔。

在 Blazor 項目中使用 IronPDF 需要哪些工具?

在 Blazor 項目中工作需要 Visual Studio 2019 或更高版本、.NET 5.0 或更高版本以及 IronPDF NuGet 套件。對 Blazor 和 C# 的基本理解也是有益的。

如何在 Blazor PDF 查看器中處理文件上傳和下載?

IronPDF 支持 Blazor PDF 查看器中的文件上傳和下載。通過整合該庫,您可以利用 C# 代碼和 Blazor 組件高效地創建處理 PDF 的網站應用。

我可以在 Blazor 應用中合併多個 PDF 嗎?

是的,IronPDF 提供了合併多個 PDF 的功能。這可以通過使用其方法將不同的 PDF 文檔合併為單個文件來實現。

IronPDF 有免費試用版嗎?

是的,IronPDF 提供免費試用版,允許開發人員在購買之前探索其功能,以確保其滿足項目的要求。

我可以在哪裡找到更多關於在 Blazor 中使用 IronPDF 的資源?

在 IronPDF 的文檔、博客和教程中可以找到使用 IronPDF 於 Blazor 的更多資源。這些資源提供了在 Blazor 應用中實現 PDF 功能的全面指導。

IronPDF是否相容於.NET 10,並且這如何影響Blazor從位元陣列顯示PDF?

是的—IronPDF完全相容於.NET 10,支持針對它的專案開箱即用。當在.NET 10下使用Blazor時,性能提升如減少配置負擔和增強的異步能力,使得將位元陣列轉換為PDF並串流給客戶端等操作受益。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me