跳至頁尾內容
使用IRONPDF

您應該購買IronPDF嗎?

1. 介紹

IronPDF for C# PDF Solutions and Documentation 是一個C#的PDF程式庫,支援處理PDF渲染及將位元組陣列轉換為PDF檔案。 它還支援審閱和列印PDF,以及使用註解工具註解PDF。 使用IronPDF來新增頁眉和頁腳及合併多個PDF也非常方便。

IronPDF可以與Blazor PDF檢視器一起使用來建立PDF檢視器,並且可以通過建立一個物件URL來瀏覽器顯示較大的檔案。

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

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

IronPDF可以與Blazor伺服器應用程式一起使用,並且可以與Visual Studio整合以提供無縫的開發體驗。 有了IronPDF,開發者可以建立一個專業級的UI元件,用於構建現代、功能豐富的網頁應用程式。

這篇文章解釋了開發者如何使用IronPDF將PDF位元組陣列轉換為PDF文件並在Blazor PDF檢視器中顯示它們。

2. 條件

要遵循本教程,需要以下工具和條件:

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

本教程中討論的一些功能可能需要IronPDF的付費版本。 另外,教程假設對Blazor和C#有基本了解。

3. 建立Blazor應用程式

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

  • 打開Visual Studio。
  • 點擊"建立新專案"。
  • 選擇Blazor伺服器應用程式模板。

    在Blazor中顯示PDF來自Byte Array,圖1:在Visual Studio中建立新專案 在Visual Studio中建立新專案

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

    在Blazor中顯示PDF來自Byte Array,圖2:在Visual Studio中命名新專案 在Visual Studio中命名新專案

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

    在Blazor中顯示PDF來自Byte Array,圖3:為新的Blazor伺服器應用程式選擇.NET 6.0框架 為新的Blazor伺服器應用程式選擇.NET 6.0框架

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

    在Blazor中顯示PDF來自Byte Array,圖4:Visual Studio中的初始專案視圖 Visual Studio中的初始專案視圖

生成了多個檔案以提供一個現成可用的Blazor軟體。

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

啟動模板程式。

Blazor專案型別

Blazor支援兩種專案型別:Blazor伺服器和Blazor WebAssembly。

前者在伺服器上運行,使用SignalR與瀏覽器通信。 這意味著應用程式的UI在伺服器上渲染,瀏覽器只接收來自伺服器的更新。 Blazor伺服器的優勢是能夠支援更大的應用程式,並能輕鬆處理更多使用者。

而Blazor WebAssembly應用程式則完全在瀏覽器中運行,不需要伺服器來運行。 這使它們更加輕量且載入速度更快,但它們有一些限制,例如不支持較大的檔案。

對於本教程,建議使用Blazor伺服器應用程式,因為它可以支援顯示和處理可能較大的PDF檔案。 此外,Blazor伺服器還可以支援審閱和列印PDF,這可能是PDF檢視器應用程式的有用功能。

安裝IronPDF

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

使用命令行

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

在套件管理器的終端標籤中輸入以下行:

Install-Package IronPdf

現在,已經下載的套件將在當前專案中安裝。

在Blazor中顯示PDF來自Byte Array,圖5:套件管理器控制台UI 套件管理器控制台UI

使用管理NuGet套件解決方案

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

在Blazor中顯示PDF來自Byte Array,圖6:導航到NuGet套件管理器 導航到NuGet套件管理器

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

在Blazor中顯示PDF來自Byte Array,圖7:在NuGet套件管理器UI中查找並安裝IronPDF套件 在NuGet套件管理器UI中查找並安裝IronPDF套件

在NuGet套件管理器的瀏覽部分中通過搜索找到IronPDF程式庫。

選擇IronPDF套件並點擊"安裝"按鈕將其新增到專案中。

4. 從位元組陣列建立和顯示PDF

要使用IronPDF在Blazor應用程式中生成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
$vbLabelText   $csharpLabel

上述程式碼片段利用了IronPDF的RenderUrlAsPdf方法,該方法從指定的URL下載HTML文字並將其轉換為PDF格式。 然後通過將PDF流轉換為base64格式,將其作為未處理的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>
}
'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
$vbLabelText   $csharpLabel

此程式碼片段將base64資料綁定到iframe元素。 這會使瀏覽器使用其內建的網頁檢視器來渲染Base64內容作為合適的PDF文件,當頁面載入時即刻生效。

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

在Blazor中顯示PDF來自Byte Array,圖8:在瀏覽器中檢視在Blazor應用程式中生成的PDF 在瀏覽器中檢視在Blazor應用程式中生成的PDF

建立簡單的PDF文件

這是使用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!!");
' Create a simple PDF document with the text "Hello world!!"
Dim pdfDocument = (New IronPdf.ChromePdfRenderer()).RenderHtmlAsPdf("Hello world!!")
$vbLabelText   $csharpLabel

使用上一節中描述的方法,可以使用使用者端瀏覽器檢視建立的PDF文件。

6. 結論

本教程顯示了如何使用IronPDF的功能和教程在Blazor伺服器應用程式中建立和顯示PDF文件。首先介紹IronPDF及其功能,包含如何將HTML轉換為PDF,新增自訂頁眉和頁腳,以及合併多個PDF。 接著提供逐步說明如何安裝IronPDF,在Blazor伺服器應用程式中建立PDF文件,然後將其轉換為PDF位元組陣列並使用iframe在Blazor PDF檢視器上顯示其。

整體來說,本教程提供了如何使用IronPDF和Blazor建立和顯示PDF文件的全面概述。 它鼓勵讀者進一步嘗試IronPDF和不同功能以建立功能豐富的應用程式。

如果您有興趣在您的Blazor專案中嘗試使用IronPDF,可以利用IronPDF的免費試用版。 這給予您充足時間實驗圖書館的功能和特性,以便觀察它是否符合您的需求。

要開始,您可以參考IronPDF Documentation for Blazor,這提供了在您的專案中使用該程式庫的詳細資訊。 您還可以瀏覽IronPDF的部落格和教程,其中包含條目和文章涵蓋與PDF操作及渲染相關的各種主題。

我們鼓勵您撥時間進一步嘗試IronPDF和Blazor,看看它們如何增強您與PDF相關的開發工作。 欲瞭解更多關於Blazor PDF檢視器的資訊,請參考以下IronPDF Blazor PDF Viewer Tutorial

常見問題

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

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

使用Blazor Server相較於Blazor WebAssembly進行PDF處理有何好處?

建議使用Blazor Server進行PDF處理,因為它能更有效率地管理較大的檔案,並支援PDF審閱和列印等功能,這些對於完整的PDF檢視器應用程式是至關重要的。

如何在Blazor專案中整合IronPDF?

您可以通過下載IronPDF程式庫並使用Visual Studio中的NuGet套件管理器將其新增到Blazor專案中。可以在套件管理器控制台中使用命令Install-Package IronPdf

我能否在Blazor應用中將URL轉換為PDF?

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

是否可以在Blazor應用中以程式化方式建立PDF?

是的,利用IronPDF的RenderHtmlAsPdf方法,您可以以程式化方式建立PDF,將HTML內容渲染成PDF文件並在Blazor應用中使用。

在Blazor專案中使用IronPDF需要哪些工具?

在Blazor專案中使用IronPDF,您需要Visual Studio 2019或更新版本、.NET 5.0或更新版本,以及IronPDF NuGet套件。也有必要具備Blazor和C#的基本理解。

如何在Blazor PDF檢視器中處理檔案上傳和下載?

IronPDF在Blazor PDF檢視器中支援檔案上傳和下載。通過整合此程式庫,您可以使用C#程式碼和Blazor元件建立高效處理PDF的網路應用。

我能否在Blazor應用中合併多個PDF?

是的,IronPDF提供合併多個PDF的功能。可以使用其方法在您的Blazor應用中將不同的PDF文件合併成一個文件。

IronPDF是否提供免費試用?

是的,IronPDF提供免費試用,允許開發者探索其功能,確保符合其專案需求後再進行購買。

如何找到更多IronPDF與Blazor使用資源?

可以在IronPDF文件、部落格和教程中找到更多IronPDF與Blazor的使用資源,這些資源提供了在Blazor應用中實施PDF功能的綜合指導。

IronPDF是否與.NET 10相容,這對Blazor從位元組陣列顯示PDF有何影響?

是的—IronPDF完全相容.NET 10,支持針對其的專案。當在.NET 10下使用Blazor時,性能改進如減少的分配開銷和增強的異步能力有助於轉換位元組陣列為PDF並將其流向客戶端。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話