使用IRONPDF 如何在 .NET Core 中將 ASP HTML 轉換為 PDF Curtis Chau 發表日期:11月 10, 2025 Download IronPDF NuGet 下載 DLL 下載 Windows 安裝程式 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 將動態 ASP.NET HTML 轉換為 PDF 文件是現代 ASP.NET 應用程式中的基本需求。 無論您是產生發票、創建報告還是製作可下載的 PDF 文件,將 HTML 內容轉換為專業 PDF 文檔的能力對於提供完善的用戶體驗至關重要。 IronPDF 通過提供一個強大的基於 Chrome 的渲染引擎簡化了這個 ASP HTML 到 PDF 的轉換過程,完美保留了您的 HTML 格式、CSS 樣式和 JavaScript 功能在最終的 PDF 文件中。 本教程將逐步指導您使用 IronPDF 庫在 ASP.NET Core 應用程式中有效地將 HTML 轉換為 PDF。 為什麼開發人員需要 HTML 到 PDF 的轉換? ASP.NET Core 應用程式經常生成用戶需要下載、分享或存檔為 PDF 文件的動態 HTML 內容。 將 HTML 轉換為 PDF 提供了幾個關鍵優勢,超過僅僅保存網頁或截圖。 PDF 文檔在所有設備和平台上保持一致的格式,確保無論是在 Windows、Mac 還是移動設備上查看,您的發票看起來都一模一樣。 它們也非常適合需要數字簽名、安全設置或專業印刷的現有文件。 服務端 PDF 轉換消除了用戶需要安裝特定軟件的需求,並提供了對最終 PDF 文件輸出的更好控制。 常見的使用情境包括從儀表板數據生成功能報告、從訂單信息創建可下載的賬單、生成具有 QR 二維碼的票證和通行證,並將表單提交轉換為永久記錄。 通過在服務器上處理 ASP HTML 到 PDF 的轉換,可以確保一致的結果,而不依賴於用戶的瀏覽器或設備性能。 IronPDF 安裝是如何工作的? 在您的 ASP.NET Core 項目中開始使用 IronPDF 非常簡單。 該庫支持 .NET Core 2.0 及以後的版本,以及 .NET 5、6、7 和 8,這使其可兼容於所有現代 ASP.NET Core 應用程序的 HTML 到 PDF 轉換任務。 通過 NuGet 包管理器安裝 向您的 ASP.NET 項目中添加 IronPDF 的最快方法是通過 Visual Studio 中的 NuGet 包管理器。 右鍵單擊解決方案管理器中的項目,選擇“管理 NuGet 包”,然後搜索 IronPDF。 單擊最新版本的安裝,將其添加到你的項目中。 請參閱 IronPDF 安裝指南以獲取詳細安裝說明。 Install-Package IronPdf 添加所需的命名空間 安裝後,請將 IronPDF 命名空間添加到您將處理 PDF 生成的任何 C# 文件中: using IronPdf; using IronPdf; Imports IronPdf $vbLabelText $csharpLabel 這個簡單的導入聲明使您可以訪問 IronPDF 的所有功能,包括 ChromePdfRenderer 類,用於 HTML 轉換和各種自定義 PDF 輸出的配置選項。 基本配置 對於大多數 ASP.NET Core 應用程式,IronPDF 在安裝後立即工作,無需其他配置。 但是,您可以在 Program.cs 或 Startup.cs 文件中設置全局選項: // Optional: Configure IronPDF settings Installation.TempFolderPath = @"C:\Temp\IronPdf\"; Installation.LinuxAndDockerDependenciesAutoConfig = true; // Optional: Configure IronPDF settings Installation.TempFolderPath = @"C:\Temp\IronPdf\"; Installation.LinuxAndDockerDependenciesAutoConfig = true; IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 這些配置選項有助於優化 IronPDF 適應您的特定託管環境,無論您是在 Windows、Linux 還是 Docker 容器上運行。 確保腳本和應用程序文件不位於相同目錄中,以避免衝突。 如何將 HTML 字串轉換為 PDF? 在 IronPDF 中,最基本的操作是將 HTML 字串直接轉換為 PDF 文件。 這種方法非常適合在 ASP.NET 應用程式中動態建立 HTML 內容或將 HTML 文件用作模板時。 // Create a PDF converter instance var renderer = new ChromePdfRenderer(); // Convert HTML string to PDF document var pdf = renderer.RenderHtmlAsPdf("<h1>Sales Report</h1><p>Generated on: " + DateTime.Now + "</p>"); // Save the resultant PDF document to a file pdf.SaveAs("report.pdf"); // Create a PDF converter instance var renderer = new ChromePdfRenderer(); // Convert HTML string to PDF document var pdf = renderer.RenderHtmlAsPdf("<h1>Sales Report</h1><p>Generated on: " + DateTime.Now + "</p>"); // Save the resultant PDF document to a file pdf.SaveAs("report.pdf"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 此代碼片段創建了一個新的 ChromePdfRenderer 實例,該實例使用 Chromium 引擎來渲染您的 HTML 內容。 RenderHtmlAsPdf 方法接受任何有效的 HTML 字串並返回一個 PdfDocument 對像。 然後,您可以將此 PDF 文件保存到磁碟或者將其直接以字節數組的形式流式傳輸給用戶。 了解更多關於 ChromePdfRenderer 類及其功能。 處理 CSS 和圖像 IronPDF 完全支持 CSS 樣式,並能在將 HTML 轉換為 PDF 時嵌入來自各種來源的圖像。 PDF 轉換器能夠完全準確地處理 HTML 元素,包括各種 HTML 標籤和圖片網址: var html = @" <style> body { font-family: Arial, sans-serif; margin: 40px; } h1 { color: #2c3e50; border-bottom: 2px solid #3498db; } .highlight { background-color: #f1c40f; padding: 5px; } </style> <h1>Monthly Report</h1> <p>This HTML document includes <span class='highlight'>highlighted text</span> and styling.</p> <img src='data:image/png;base64,iVBORw0KGgoAAAANS...' alt='Logo' />"; var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(html); var html = @" <style> body { font-family: Arial, sans-serif; margin: 40px; } h1 { color: #2c3e50; border-bottom: 2px solid #3498db; } .highlight { background-color: #f1c40f; padding: 5px; } </style> <h1>Monthly Report</h1> <p>This HTML document includes <span class='highlight'>highlighted text</span> and styling.</p> <img src='data:image/png;base64,iVBORw0KGgoAAAANS...' alt='Logo' />"; var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(html); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 渲染器能處理嵌入式樣式、CSS 文件,甚至是 base64 編碼的圖像。 這確保您的 PDF 頁面保持與您的 HTML 內容的外觀完全一致,包括現代 CSS3 功能如彈性布局和網格布局。 HTML 到 PDF 的轉換保留了所有 HTML 標籤及其樣式而不會產生空白頁面。 如何將 ASP.NET Core 視圖轉換為 PDF? 將整個 ASP.NET Core 網頁或視圖轉換為 PDF 是一個常見需求,特別是基於現有 HTML 文件生成報告時。 IronPDF 為這種 ASP HTML 到 PDF 的轉換場景提供了幾種方法,無論您是處理單頁還是多頁。 轉換控制器視圖 在您的 ASP.NET Core 控制器中,您可以渲染一個視圖到 HTML,然後使用 IronPDF 強大的 PDF 庫渲染功能將其轉換為 PDF 文件: [HttpGet] public async Task<IActionResult> DownloadPdf() { var invoiceModel = new InvoiceModel { InvoiceNumber = 12345, Date = DateTime.Now, CustomerName = "Acme Corporation", Items = new List<InvoiceItem> { new InvoiceItem { Description = "Service", Quantity = 1, Price = 100.0 } }, Total = 100.0 }; // Render the view to HTML string var htmlContent = await RenderViewToString("Invoice", invoiceModel); // Convert HTML to PDF var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(htmlContent); // Return PDF to browser var contentType = "application/pdf"; var fileName = $"invoice_{DateTime.Now:yyyyMMdd}.pdf"; return File(pdf.BinaryData, contentType, fileName); } private async Task<string> RenderViewToString(string viewName, object model) { ViewData.Model = model; using (var writer = new StringWriter()) { var viewResult = viewEngine.FindView(ControllerContext, viewName, false); var viewContext = new ViewContext( ControllerContext, viewResult.View, ViewData, TempData, writer, new HtmlHelperOptions() ); await viewResult.View.RenderAsync(viewContext); return writer.GetStringBuilder().ToString(); } } [HttpGet] public async Task<IActionResult> DownloadPdf() { var invoiceModel = new InvoiceModel { InvoiceNumber = 12345, Date = DateTime.Now, CustomerName = "Acme Corporation", Items = new List<InvoiceItem> { new InvoiceItem { Description = "Service", Quantity = 1, Price = 100.0 } }, Total = 100.0 }; // Render the view to HTML string var htmlContent = await RenderViewToString("Invoice", invoiceModel); // Convert HTML to PDF var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(htmlContent); // Return PDF to browser var contentType = "application/pdf"; var fileName = $"invoice_{DateTime.Now:yyyyMMdd}.pdf"; return File(pdf.BinaryData, contentType, fileName); } private async Task<string> RenderViewToString(string viewName, object model) { ViewData.Model = model; using (var writer = new StringWriter()) { var viewResult = viewEngine.FindView(ControllerContext, viewName, false); var viewContext = new ViewContext( ControllerContext, viewResult.View, ViewData, TempData, writer, new HtmlHelperOptions() ); await viewResult.View.RenderAsync(viewContext); return writer.GetStringBuilder().ToString(); } } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 此方法將您的 Razor 視圖首先渲染為 HTML 字串,然後轉換為 PDF。 PDF 作為文件下載返回用戶的瀏覽器,並帶有適當的文件名。 無論您是轉換 ASPX 文件還是現代 Razor 視圖,這都能順利工作。 轉換網址為 PDF 對於現有的網頁,您可以使用 IronPDF 作為強大的 HTML 到 PDF 轉換器,將任何指定的 URL 直接轉換為 PDF 文件。 只需提供 HTTP 或 HTTPS 地址作為 URL 參數: [HttpGet] public IActionResult GeneratePdfFromUrl() { var renderer = new ChromePdfRenderer(); // Convert a specified URL to PDF document var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/"); // Stream the PDF file to the browser return File(pdf.BinaryData, "application/pdf", "invoice.pdf"); } [HttpGet] public IActionResult GeneratePdfFromUrl() { var renderer = new ChromePdfRenderer(); // Convert a specified URL to PDF document var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/"); // Stream the PDF file to the browser return File(pdf.BinaryData, "application/pdf", "invoice.pdf"); } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 當您已經擁有格式良好的網頁並希望將其作為下載 PDF 版本提供時,此方法尤其有用。 .NET 庫能處理所有外部資源,包括樣式表、腳本和圖像,確保完整的 HTML 渲染。 如果遇到無效的 URL,轉換器將返回適當的 HTTP 狀態碼。 處理身份驗證 當轉換需要身份驗證的頁面時,使用 .NET 表單身份驗證或其他安全機制,您可以傳遞 cookie 或標頭,以維持同一個用戶帳戶會話。 這樣可以防止在 PDF 轉換過程中重定向到登錄屏幕: var renderer = new ChromePdfRenderer(); // Set cookies for authenticated requests with user database credentials renderer.RenderingOptions.CustomCookies.Add("auth_token", Request.Cookies["auth_token"]); // Convert protected web pages to PDF var pdf = renderer.RenderUrlAsPdf("https://localhost:5001/secure/report"); var renderer = new ChromePdfRenderer(); // Set cookies for authenticated requests with user database credentials renderer.RenderingOptions.CustomCookies.Add("auth_token", Request.Cookies["auth_token"]); // Convert protected web pages to PDF var pdf = renderer.RenderUrlAsPdf("https://localhost:5001/secure/report"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 這確保了受保護的 HTML 內容能被轉換為 PDF 文件,同時維持安全性。 PDF 轉換過程尊重應用程序的基本身份驗證和表單身份驗證,防止未經授權的用戶帳戶訪問敏感的現有文件。 在需要時,您還可以為基本身份驗證場景傳遞用戶名和密碼參數。 如何自定義 PDF 輸出? IronPDF 作為全面的 PDF 轉換器,提供了廣泛的自定義選項來控制從 HTML 文件生成的 PDF 文檔。 這些設置幫助您創建符合特定頁面佈局和格式要求的專業 PDF 文件。 頁面設置和邊距 var renderer = new ChromePdfRenderer(); // Set default page size for PDF pages renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait; // Control page width and margins for the resultant PDF document renderer.RenderingOptions.MarginTop = 25; renderer.RenderingOptions.MarginBottom = 25; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; var renderer = new ChromePdfRenderer(); // Set default page size for PDF pages renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait; // Control page width and margins for the resultant PDF document renderer.RenderingOptions.MarginTop = 25; renderer.RenderingOptions.MarginBottom = 25; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 這些設置控制了 PDF 頁面的物理佈局,包括奇數頁和偶數頁。 您可以選擇標準紙張尺寸或定義自定義尺寸,設置縱向或橫向方向,以及調整邊距以匹配您的設計需求。 圖形模板系統可確保後續奇數與偶數頁的一致樣式。 頁眉和頁腳 添加一致的頁眉和頁腳在轉換 HTML 文件時提升您的 PDF 文件的專業外觀: renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align: center'>Company Report</div>", MaxHeight = 20 }; renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align: center'>Page {page} of {total-pages}</div>", MaxHeight = 20 }; renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align: center'>Company Report</div>", MaxHeight = 20 }; renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align: center'>Page {page} of {total-pages}</div>", MaxHeight = 20 }; IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 頁眉和頁腳支持 HTML 元素和格式,並可以使用特殊占位符表示頁碼、日期和所有 PDF 頁上其他動態內容。 以下代碼展示了如何向動態生成的文檔或現有 PDF 文件添加專業的頁眉。 最佳實踐是什麼? 為了確保在將 HTML 轉換為 PDF 時的最佳性能和質量,請遵循這些可靠的實踐以實現成功的 PDF 轉換。 始終先在瀏覽器中測試您的 HTML 呈現,以驗證樣式和佈局,然後再生成 PDF 文件。 盡可能使用絕對 URL 指向外部資源,因為相對路徑可能在 HTML 到 PDF 的轉換過程中引起問題。 對於具有多個 HTML 元素的複雜 JavaScript 網頁,添加渲染延遲以確保完全加載。 考慮為頻繁生成的 PDF 文檔實施緩存,以減輕服務器負載。 要了解更多 ASP.NET Core 與此 .NET 庫的最佳實踐,請參考微軟的官方文件。 在部署到生產環境時,配置合適的臨時文件夾路徑,並確保您的託管環境已安裝必要的 PDF 庫依賴項,尤其是 Linux 部署。 避免將腳本與轉換邏輯放在同一目錄中,以防止衝突。 查看常見部署場景的故障排除指南與現有的 PDF 文件。 當您打算處理直接 HTML 內容以避免意外行為時,始終驗證輸入不是 URL。 結論 在 ASP.NET Core 應用程式中,使用 IronPDF 使 ASP HTML 到 PDF 轉換變得簡單明了。 該庫的 Chrome 渲染確保了準確的轉換,同時提供了專業文檔生成功能的廣泛自定義選項。 無論是處理 HTML 字串、URL 還是完整網頁,IronPDF 都能保留精確的格式、CSS 樣式和 JavaScript 操作。 這個基於 .NET 的網頁應用工具高效地處理整個 PDF 轉換過程。 Start your free 30-day trial or 與我們的團隊預訂演示。 常見問題解答 IronPDF 在 ASP.NET 應用程式中的主要功能是什麼? IronPDF 用於在 ASP.NET 應用程式中將 HTML 內容轉換為專業的 PDF 文件。它使開發人員能夠有效地產生發票、建立報告和產生可下載的 PDF 文件。 在 ASP.NET 專案中,為什麼將 HTML 轉換為 PDF 很重要? 在 ASP.NET 專案中,將 HTML 轉換為 PDF 至關重要,因為它可以將動態內容轉換為專業的、可共享的 PDF 文件(例如發票和報告),從而幫助提供完善的使用者體驗。 IronPDF能否在ASP.NET中處理動態HTML內容? 是的,IronPDF 旨在處理動態 HTML 內容,因此非常適合從動態 ASP.NET 網頁和應用程式產生 PDF。 在 ASP.NET 中,HTML 轉 PDF 有哪些常見的應用場景? 常見用例包括產生發票、建立報告以及從 Web 應用程式提供可下載的 PDF 文件。 IronPDF是否支援在轉換後的PDF文件中設定樣式? 是的,IronPDF 支援 CSS 樣式,讓開發人員在轉換後的 PDF 文件中保持原始 HTML 內容的外觀和風格。 IronPDF 如何改善 ASP.NET 應用程式的使用者體驗? IronPDF 透過讓開發人員直接從其 ASP.NET 應用程式提供高品質的 PDF 文件(例如報告和發票)來改善使用者體驗,從而確保一致性和專業性。 是否可以使用 IronPDF 自動產生 PDF 檔案? 是的,IronPDF 可以自動產生 PDF 文件,使開發人員能夠在 ASP.NET 應用程式中以程式設計方式建立和管理 PDF 文件。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 相關文章 發表日期 11月 13, 2025 如何在 C# 中合併兩個 PDF 位元組數組 使用 IronPDF 在 C# 中合併兩個 PDF 位元組數組。學習如何透過簡單的程式碼範例,將來自位元組數組、記憶體流和資料庫的多個 PDF 文件合併在一起。 閱讀更多 發表日期 11月 13, 2025 如何在 ASP.NET MVC 中創建 PDF 檢視器 為 ASP.NET MVC 應用程式構建一個強大的 PDF 檢視器。顯示 PDF 文件,將視圖轉換為 PDF,使用 IronPDF 添加互動功能。 閱讀更多 發表日期 11月 13, 2025 如何建立 .NET HTML 轉 PDF 轉換器 學習如何在.NET中使用IronPDF將HTML轉換為PDF。 閱讀更多 如何創建 Xamarin PDF 生成器如何在 VB.NET 中將 PDF 轉換...
發表日期 11月 13, 2025 如何在 C# 中合併兩個 PDF 位元組數組 使用 IronPDF 在 C# 中合併兩個 PDF 位元組數組。學習如何透過簡單的程式碼範例,將來自位元組數組、記憶體流和資料庫的多個 PDF 文件合併在一起。 閱讀更多
發表日期 11月 13, 2025 如何在 ASP.NET MVC 中創建 PDF 檢視器 為 ASP.NET MVC 應用程式構建一個強大的 PDF 檢視器。顯示 PDF 文件,將視圖轉換為 PDF,使用 IronPDF 添加互動功能。 閱讀更多