如何使用 IronPDF 與 Blazor 進行 PDF 生成 | IronPDF

IronPDF Blazor 伺服器教學:用 C# 將 HTML 渲染成 PDF;

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF 可在 Blazor Server 應用程式中使用 C# 進行 HTML 至 PDF 的轉換,只需最少的設定,支援 .NET 6 並直接從您的 Blazor 元件提供 PDF 產生功能。

快速入門:在Blazor伺服器中渲染PDF

在您的 Blazor Server 應用程式中開始使用 IronPDF。 本範例示範如何將 HTML 內容渲染為 PDF。 只需幾行程式碼即可將您的 Blazor 元件轉換成 PDF。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronPDF

    PM > Install-Package IronPdf

  2. 複製並運行這段程式碼。

    IronPdf.HtmlToPdf.RenderHtmlAsPdf(htmlContent).SaveAs(outputPath);
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronPDF,免費試用!
    arrow pointer

如何建立新的 Blazor 伺服器專案? 建立新專案並選擇 Blazor Server App 類型。Visual Studio 提供了建立伺服器端 Blazor 應用程式的範本,可以使用 .NET 來產生 PDF。 Blazor Server 主機模式會在伺服器上執行您的應用程式邏輯,因此適用於[需要伺服器端處理的 IronPDF 生成情境](https://ironpdf.com/how-to/blazor-tutorial/)。
Visual Studio 創建專案對話框,顯示 Blazor Server App 及其他 Blazor 專案範本與說明

Blazor伺服器應用程式的先決條件為何? 在使用 IronPDF 創建 Blazor Server 應用程式之前,請確保您已安裝 Visual Studio 2022 或更高版本的 ASP.NET 與網頁開發工作負載。 您需要 .NET 6 SDK 或更高版本。 Blazor Server 應用程式需要持續連線至伺服器,因此適用於需要從複雜的 HTML 內容產生 PDF 的場景,或是處理應保留在伺服器上的 [敏感資料](https://ironpdf.com/how-to/pdf-permissions-passwords/)時。

我應該使用哪個 .NET 版本? 為了在 Blazor Server 應用程式中與 IronPDF 的相容性和效能,請使用 .NET 6 或更高版本。 IronPDF 與 .NET Core 3.1、.NET 5、.NET 6、.NET 7 和 .NET 8 相容。最新的 LTS 版本(.NET 6 或 .NET 8)可提供穩定性和長期支援。 [ 部署到 Azure](https://ironpdf.com/how-to/azure/) 時,請確保您的 Azure App Service 計劃支援您選擇的 .NET 版本。

我要如何設定專案設定? 設定 Blazor 伺服器專案時,請選擇"Configure for HTTPS"以確保用戶端與伺服器之間的安全通訊。 請勿勾選"啟用 Docker",除非您打算[在 Docker 中執行 IronPDF](https://ironpdf.com/get-started/ironpdf-docker/)。 對於驗證,請先選擇"無"- 您可以稍後根據需要新增驗證。 專案名稱應遵循 C# 命名慣例,並避免使用空格或特殊字符。

如何將 IronPDF 安裝到我的 Blazor 專案中? 建立專案後,請依照下列步驟在 Visual Studio 內安裝 [NuGet 提供的 IronPDF 函式庫](https://www.nuget.org/packages/IronPdf)。 IronPdf 提供一個 API,用於 [從 HTML 字串](https://ironpdf.com/how-to/html-string-to-pdf/)、URL 和現有 PDF 文件建立 PDF。 1. 在 Visual Studio 的解決方案資源管理器視窗中,以滑鼠右鍵按一下`References` ,然後選擇`Manage NuGet Packages` 。 2. 選擇"瀏覽"並搜尋`IronPdf` 。 3. 選擇最新版本的軟體包,勾選專案複選框,然後按一下安裝。 或者,您可以使用 .NET CLI 進行安裝: ```shell :ProductInstall ``` 針對特定平台的專案,您可能需要特定平台的套件。 例如,如果部署到 Linux,請檢閱 [Linux 安裝指南](https://ironpdf.com/get-started/linux/)。

為何選擇 NuGet Package Manager 而非 CLI? Visual Studio 中的 NuGet Package Manager GUI 提供可視化介面,讓您更容易瀏覽套件版本、檢視相依性,以及同時管理多個專案。 它可以幫助初學 IronPDF 的開發人員探索可用的套件及其說明。 CLI 方法對於有經驗的開發人員而言較快,也更適合自動化建置管道或使用 [Docker containers](https://ironpdf.com/get-started/ironpdfengine-docker/) 時使用。

我應該安裝哪個版本的 IronPDF? 安裝最新的 IronPDF 穩定版,以存取新功能、效能改善和安全更新。 請檢查 [changelog](https://ironpdf.com/product-updates/changelog/) 以瞭解最近更新的詳細資訊。 如果您正在使用現有的專案,請確保與其他相依性的版本相容。 對於生產環境,請在升級主要版本之前進行徹底測試。

如何驗證安裝成功? 安裝完成後,請檢查"解決方案總管"中的"套件"資料夾,確認 IronPDF 是否已正確安裝。 您應該會看到"IronPdf"列在您的專案相依性中。 在 C# 檔案中加入 `using IronPdf;` - IntelliSense 應該會識別命名空間。 您也可以透過建立 [ 基本的 HTML PDF](https://ironpdf.com/how-to/create-new-pdfs/) 來執行簡單的測試,以確認一切運作正常。

我該如何為 PDF 生成新增 Razor 元件? 在您的 Blazor 專案中安裝 IronPDF 後,新增一個 Razor Component。 本教程命名為"IronPdfComponent"。 此元件將處理使用者輸入,並根據 HTML 內容動態產生 PDF。 Blazor 的元件架構可讓您輕鬆建立可重複使用的 PDF 生成功能,並可在您的應用程式中共用。
Visual Studio 新增項目對話框,選擇 Razor Component 並輸入 IronPdfComponent 作為檔案名稱
之後,如下更新程式碼: ```html @page "/IronPdf" @inject IJSRuntime JS

IronPdfComponent

``` ```csharp @code { // Model to bind user input private InputHTMLModel _InputMsgModel = new InputHTMLModel(); private async Task SubmitHTML() { // Set your IronPDF license key IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"; // Create a renderer to convert HTML to PDF var render = new IronPdf.ChromePdfRenderer(); // Configure rendering options for better output render.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; render.RenderingOptions.MarginTop = 40; render.RenderingOptions.MarginBottom = 40; // Render the HTML input into a PDF document var doc = render.RenderHtmlAsPdf(_InputMsgModel.HTML); var fileName = "iron.pdf"; // Create a stream reference for the PDF content using var streamRef = new DotNetStreamReference(stream: doc.Stream); // Invoke JavaScript function to download the PDF in the browser await JS.InvokeVoidAsync("SubmitHTML", fileName, streamRef); } public class InputHTMLModel { public string HTML { get; set; } = @"

This is a sample PDF generated from HTML content in Blazor Server.

  • Easy to use API
  • High-quality rendering
  • Full HTML5 and CSS3 support
"; } } ``` 本元件使用 [ChromePdfRenderer 類](https://ironpdf.com/how-to/ironpdf-2021-chrome-rendering-engine-eap/) 來產生 PDF。 您可以使用各種選項自訂呈現方式,例如 [自訂紙張大小](https://ironpdf.com/how-to/custom-paper-size/)、[邊界](https://ironpdf.com/how-to/custom-margins/),以及 [頁首/頁腳](https://ironpdf.com/how-to/headers-and-footers/)。 將以下 JavaScript 程式碼新增至`_layout.cshtml`中,以允許下載 Blazor 應用程式中由 IronPDF 渲染的 PDF 檔案: ```js``` 編輯 Shared 資料夾中的`NavMenu.razor`文件,為我們的新 Razor 元件新增導航標籤。 新增以下程式碼: ```html``` 當這些都應用好之後,您就可以執行您的解決方案,您應該會看到這樣的結果:
使用 IronPDF 元件的 Blazor 應用程式,在主要內容區域顯示 HTML 輸入文字區和渲染 HTML 按鈕

為什麼在 Blazor 中使用 JavaScript 進行 PDF 下載? Blazor Server 在 SignalR 連線上運作,所有 C# 程式碼都在伺服器上執行。 需要 JavaScript interop 來觸發瀏覽器特定的動作,例如檔案下載。 `DotNetStreamReference` 類會從伺服器傳輸二進位資料到用戶端,而不會一次將整個 PDF 載入記憶體。 這種方法比 base64 編碼更有效率,對於大型 PDF 也很有效。 如需其他方法,請考慮 [ 將 PDF 匯出為記憶體串流](https://ironpdf.com/how-to/pdf-to-memory-stream/)。

實施 PDF 下載時有哪些常見問題? 常見的挑戰包括處理可能導致 SignalR 連線超時的大型檔案、管理並發的 PDF 製作請求,以及確保適當的資源處理。 為避免記憶體洩漏,請務必妥善處置 PDF 文件和串流。 考慮實施 [async PDF 生成](https://ironpdf.com/how-to/async/),以獲得更好的效能。 如果遇到渲染問題,請查看 [ 渲染選項說明文件](https://ironpdf.com/how-to/rendering-options/),以獲得配置提示。

如何處理大型 PDF 檔案? 對於大型 PDF,可考慮實施進度指標和分塊下載。 您可以使用 [ 壓縮技術](https://ironpdf.com/how-to/pdf-compression/)優化 PDF 大小。 在您的 Blazor 伺服器設定中設定適當的逾時時間: ```csharp services.AddServerSideBlazor() .AddHubOptions(options => { options.MaximumReceiveMessageSize = 10 * 1024 * 1024; // 10MB options.ClientTimeoutInterval = TimeSpan.FromSeconds(60); }); ``` 對於非常大的文件,可考慮先儲存到伺服器儲存空間,並提供下載連結,而非直接串流。

何時應該使用串流引用 vs 直接下載? 使用 `DotNetStreamReference` 處理需要立即下載的 50MB 以下 PDF 檔案。 對於較大的檔案或需要 [ 將 PDF 儲存至磁碟](https://ironpdf.com/how-to/export-save-pdf-csharp/)時,請考慮在伺服器上產生 PDF 並提供下載連結。 直接下載對於報告和發票非常有效,而批次處理或 [ 彙總多個 PDF](https://ironpdf.com/how-to/merge-or-split-pdfs/) 可能會受益於伺服器端儲存。 在選擇方法時,請考慮您應用程式的記憶體限制和使用者體驗需求。

常見問題解答

如何建立新的 Blazor 伺服器專案以產生 PDF?

要使用 IronPdf 創建 Blazor Server 專案,請在 Visual Studio 中選擇「Blazor Server App」作為專案類型。Blazor Server 主機模型在伺服器上執行應用程式邏輯,因此非常適合需要使用 IronPDF 進行伺服器端處理的 PDF 生成情境。

使用Blazor伺服器應用程式產生PDF的先決條件是什麼?

您需要 Visual Studio 2022 或更高版本的 ASP.NET 和網頁開發工作負載,Plus .NET 6 SDK 或更高版本。Blazor Server 應用程式需要持續的伺服器連線,因此適合使用 IronPDF 從複雜的 HTML 內容產生 PDF,或處理應保留在伺服器上的敏感資料時使用。

在 Blazor 中生成 PDF 應該使用哪個 .NET 版本?

為了在 Blazor Server 應用程式中與 IronPDF 達到最佳相容性與效能,請使用 .NET 6 或更高版本。IronPDF 支援 .NET Core 3.1、.NET 5、.NET 6、.NET 7 及 .NET 8。最新的 LTS 版本(.NET 6 或 .NET 8)可提供穩定性和長期支援。

如何設定 Blazor PDF 應用程式的專案設定?

為 IronPDF 設定 Blazor 伺服器專案時,請選擇「Configure for HTTPS」以保證通訊安全。不勾選「啟用 Docker」,除非您打算在 Docker 容器中執行 IronPDF。一開始使用「None」來驗證 - 您可以稍後再加入。使用正確的 C# 命名慣例,不要使用空格或特殊符號。

如何在Blazor伺服器中從HTML快速產生PDF?

IronPDF 為 Blazor Server 中的 HTML 轉 PDF 提供了簡單的單行解決方案:IronPDF.HtmlToPdf.RenderHtmlAsPdf(htmlContent).SaveAs(outputPath).這可讓您以最少的程式碼將 Blazor 元件轉換成 PDF。

在Blazor中實現PDF生成的最基本工作流程是什麼?

最低限度的工作流程包括 5 個步驟:1) 安裝 IronPDF HTML-to-PDF 函式庫;2) 在 Visual Studio 中建立新的 Blazor 專案;3) 使用 IronPDF 將網頁由 URL 轉換成 PDF 文件;4) 將網頁渲染到客戶端的網頁瀏覽器;5) 檢視由 HTML 字串產生的 PDF 文件。

Curtis Chau
技術作家

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

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

準備好開始了嗎?
Nuget 下載 16,685,821 | 版本: 2025.12 剛發表