如何從字節數組在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 檢視器中顯示它們。
如何在 Blazor 中顯示位元組數組中的 PDF
- 下載 C# 庫,用於在 Blazor 中從位元組流顯示 PDF 文件
- 使用
RenderUrlAsPdf方法將所需的 URL 渲染為 PDF 檔案。 - 訪問 PDF 位元組陣列並將其轉換為 base64 資料類型
- 在 Blazor 頁面上顯示 base64 PDF
- 使用
RenderHtmlAsPdf方法將 HTML 轉換為 PDF 並顯示它。
2. 要求
要學習本教程,需要以下工具和條件:
- Visual Studio 2019 或更高版本:這是創建和運行 Blazor 應用程式所必需的。 可從Visual Studio 官方網站下載。
- .NET 5.0 或更高版本:這是建置和運行 Blazor 應用程式所必需的。 可以從官方的 .NET 下載頁面下載。
- IronPDF:這是一個專業級的 UI 庫,用於將 PDF 位元組數組轉換為 PDF 文檔,並在 Blazor PDF 檢視器中顯示它。 可從IronPDF官方網站下載。
IronPdf.BlazorNuGet 套件:這是用於將 IronPDF 與 Blazor 應用程式整合的 NuGet 套件。 它可以透過 Visual Studio 中的 NuGet 套件管理器進行安裝。
教學中討論的某些功能可能需要 IronPDF 的付費版本。 此外,本教學假定讀者對 Blazor 和 C# 有基本的了解。
3. 創建 Blazor 應用程式
我們必須先建立一個新的 Visual Studio 項目,才能開始建立我們的第一個 Blazor 應用程式。
- 開啟 Visual Studio。
- 點選"建立新項目"。
-
選擇 Blazor 伺服器應用程式範本。
如何在 Blazor 中顯示位元組數組中的 PDF,圖 1:在 Visual Studio 中建立新項目 在 Visual Studio 中建立新項目
- 選擇"下一步"選項。
-
請為您的申請命名。
如何在 Blazor 中從位元組數組顯示 PDF,圖 2:在 Visual Studio 中命名新項目 在 Visual Studio 中命名新項目
- 選擇"下一步"選項。
-
選擇一個 .NET Framework。
如何在 Blazor 中從位元組數組顯示 PDF,圖 3:為新的 Blazor 伺服器應用程式選擇 .NET 6.0 框架 為新的 Blazor 伺服器應用程式選擇 .NET 6.0 框架
點擊"創建"按鈕。
-
將建立一個新項目,如下所示。
如何在 Blazor 中從位元組陣列顯示 PDF,圖 4:Visual Studio 中的初始專案視圖 Visual Studio 中的初始專案視圖
我們產生了多個文件,為您提供一個簡單易用的 Blazor 軟體。
- 啟動伺服器的應用程式入口點是
program.cs,您也可以在此處設定應用程式的中間件和服務。 - 該應用程式的主要部分名為"App.razor"。
- 您可以在"Pages"目錄中找到該應用程式的一些範例網頁。
- 本機開發環境的不同設定檔設定在"Properties"目錄下的"launchSettings.json"檔案中定義。 建立專案時,會自動指派連接埠號碼並將其儲存到此檔案中。
啟動模板程式。
Blazor 專案類型
Blazor 支援兩種專案類型:Blazor Server 和 Blazor WebAssembly。
前一種類型運行在伺服器上,並使用 SignalR 與瀏覽器通訊。 這意味著應用程式的使用者介面是在伺服器端渲染的,瀏覽器只接收來自伺服器的更新。 Blazor Server 的優勢在於能夠支援更大的應用程式,並且可以輕鬆處理更多使用者。
另一方面,Blazor WebAssembly 應用程式完全在瀏覽器中運行,不需要伺服器即可運行。 這使得它們更輕、載入速度更快,但它們也有一些局限性,例如無法支援較大的檔案。
本教學建議使用 Blazor Server 應用程式,因為它能夠支援顯示和處理可能較大的 PDF 檔案。 此外,Blazor Server 還支援檢視和列印 PDF,這對於 PDF 檢視器應用程式來說可能是一個有用的功能。
安裝 IronPDF。
在本節中,我們將討論如何使用不同的方法安裝 IronPDF。
使用命令列
在 Visual Studio 中,依序選擇"工具" > "NuGet 套件管理器" > "套件管理器控制台" 。
在軟體包管理器的終端機標籤中輸入以下命令:
Install-Package IronPdf
現在軟體包已經下載完畢,它將安裝到目前專案中。
如何在 Blazor 中從位元組數組顯示 PDF,圖 5:套件管理器控制台 UI 軟體包管理器控制台使用者介面
使用 NuGet 套件管理解決方案
Visual Studio 中提供了 NuGet 套件管理器 UI,可以直接將套件安裝到專案中。 下面截圖顯示如何開啟它。
如何在 Blazor 中顯示位元組數組中的 PDF 文件,圖 6:導覽至 NuGet 套件管理器 導覽至 NuGet 套件管理器
套件管理器使用者介面提供了一個瀏覽功能,其中顯示了 NuGet 網站上提供的套件庫清單。輸入關鍵字"IronPDF"(如下圖)即可找到 IronPDF 程式包。
如何在 Blazor 中從位元組數組顯示 PDF?圖 7:在 NuGet 套件管理器 UI 中搜尋並安裝 IronPDF 套件 在 NuGet 套件管理器 UI 中搜尋並安裝 IronPDF 套件。
在 NuGet 套件管理器中,透過在"瀏覽"部分搜尋來找到 IronPDF 庫。
選擇 IronPDF 軟體包,然後按一下"安裝"按鈕將其新增至專案。
4. 從位元組數組建立和顯示 PDF
要在 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())}";
}
' Placeholder for the URL used to generate the PDF
Private _url As String = ""
' Method to render a URL as a PDF and convert the result to a base64 string
Private Async Function ViewFile() As Task
Dim renderer = New IronPdf.ChromePdfRenderer()
' Render the specified URL as a PDF
Dim 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())}"
End Function
上述程式碼片段使用了 IronPDF 的 RenderUrlAsPdf 方法,該方法從指定的 URL 下載 HTML 文字並將其轉換為 PDF 格式。 然後,將生成的 PDF 材料渲染為未經處理的 base64 資料字串,方法是將 PDF 流轉換為 base64 格式並將其儲存在局部變數中。
應用程式可以使用 IronPDF 的 SaveAs 函數將建立的 PDF 檔案儲存到伺服器的檔案系統中,以便稍後可以訪問,該函數在每個 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>
}
'INSTANT VB WARNING: The following constructor is declared outside of its associated class:
'ORIGINAL LINE: if(_url != string.Empty)
Private Sub New(Optional _url (Not ByVal) As = String.Empty)
' Render the PDF base64 data as a PDF in an iframe
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: <iframe src="@_url" width="100%" height="500px"></iframe>
"100%" height="500px"></iframe>
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: <iframe src="@_url" width="100%" height
"@_url" width="100%" height
<iframe src="@_url" width
End Sub
此程式碼片段將 base64 資料綁定到 src 元素的 iframe 屬性。 這樣一來,瀏覽器就會使用其內建的網頁檢視器,在頁面載入後立即將 Base64 內容渲染成合適的 PDF 文件。
這是一張由 base64 字串產生的 PDF 檔案的圖像。
如何在 Blazor 中顯示位元組數組產生的 PDF 文件,圖 8:在瀏覽器中查看 Blazor 應用程式中產生的 PDF 文件 在瀏覽器中查看 Blazor 應用程式產生的 PDF 文件
建立簡單的 PDF 文件
以下是使用 C# 中的 IronPDF 建立簡單 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!!");
' Create a simple PDF document with the text "Hello world!!"
Dim pdfDocument = (New IronPdf.ChromePdfRenderer()).RenderHtmlAsPdf("Hello world!!")
使用上一節中所述的方法,可以使用用戶端瀏覽器檢視已建立的 PDF 文件。
6.結論
本教學課程示範如何使用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 檢視器教學。
常見問題解答
如何在 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並串流給客戶端等操作受益。



