使用IRONPDF 如何在 .NET Core 中創建 PDF 生成器 Curtis Chau 發表日期:10月 27, 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 什麼使.NET Core PDF生成器可靠? 什麼使.NET Core PDF生成器可靠? 在.NET Core應用程序中構建PDF文件需要處理HTML內容、保持格式並支持跨平臺部署的PDF庫。 老實說,如果您正在開發ASP.NET Core網頁API或控制台應用程序,一個強大的.NET Core PDF生成器可以簡化從各個來源創建文檔的整個過程。 這節省了大量的時間。 開始您的免費試用,發現為什麼開發人員選擇IronPDF作為在生產環境中進行任務關鍵性的PDF生成。 IronPDF脫穎而出,成為一個全面的.NET Core PDF庫。 它使用一個Chrome渲染引擎以創建像素級精確的PDF文檔。 這種方法意味著您不需要學習複雜的PDF API或與布局問題作鬥爭; 您可以只利用現有的HTML和CSS技能來生成PDF文件。 The library’s extensive documentation and code examples make implementation straightforward. IronPDF如何簡化.NET Core中的PDF文檔生成? IronPDF將傳統上複雜的PDF生成任務轉變為任何.NET開發人員都可以實施的簡單代碼。 該庫使用ChromePdfRenderer類將HTML字符串、文件或URL直接轉換為PDF格式。 這種流暢的API方法提供了廣泛的自定義選項,同時在不同平臺上保持高性能。 真正的力量在於IronPDF如何將HTML內容轉換為專業的PDF文件。 開發人員編寫標準的HTML並添加CSS樣式,而不需要手動定位或需要繪制元素,該庫可無縫地處理轉換。 生成的PDF文件不僅僅是文本的圖片; 它們是功能齊全的文檔,用戶可以選擇和搜索文本。 除了基本的PDF生成之外,您可以使用IronPDF的高級編輯工具來編輯PDF文件。 利用這些工具,您可以合並文件、添加水印、註釋等。 查看相關教程以查看更多這些工具的源代碼示例。 通過NuGet包管理器安裝IronPDF 在Visual Studio中開始使用IronPDF只需要一個NuGet包的安裝。 打開NuGet包管理器控制台,確保在“默認項目”下拉列表中選擇您的項目名,然後運行以下命令: Install-Package IronPdf 這個單一的NuGet包提供所有在.NET Core應用程序中創建、編輯和生成PDF文件所需的功能。 安裝會自動配置您的項目以在Windows、Linux和Docker環境中生成PDF文件。 它還支持包括.NET Framework 4.6.2+、.NET Core 3.1+和.NET Standard 2.0+在內的各種.NET版本。 從HTML創建您的第一個PDF文檔 讓我們使用一個實際的發票文檔示例來創建PDF文檔。 這展示了如何從HTML內容生成具有適當格式和數據綁定的PDF文件: using IronPdf; using System.IO; using System.Text; // Initialize the Chrome renderer var renderer = new ChromePdfRenderer(); // Configure rendering options renderer.RenderingOptions.MarginTop = 25; renderer.RenderingOptions.MarginBottom = 25; renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; // Create HTML content for invoice var htmlBuilder = new StringBuilder(); htmlBuilder.Append(@" <html> <head> <style> body { font-family: Arial, sans-serif; font-size: 14px; } .invoice-header { background: #f0f0f0; padding: 20px; } table { width: 100%; border-collapse: collapse; } th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; } </style> </head> <body> <div class='invoice-header'> <h1>Invoice #INV-2024-001</h1> <p>Date: " + DateTime.Now.ToString("MM/dd/yyyy") + @"</p> </div> <table> <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>"); // Example of dynamically adding table rows with a for loop for (int i = 0; i < 3; i++) { htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>"); } htmlBuilder.Append(@" </table> <p><strong>This is a new paragraph with a summary.</strong></p> </body> </html>"); // Generate PDF from HTML string PdfDocument pdfObject = renderer.RenderHtmlAsPdf(htmlBuilder.ToString()); // Save the PDF file pdfObject.SaveAs("invoice.pdf"); using IronPdf; using System.IO; using System.Text; // Initialize the Chrome renderer var renderer = new ChromePdfRenderer(); // Configure rendering options renderer.RenderingOptions.MarginTop = 25; renderer.RenderingOptions.MarginBottom = 25; renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; // Create HTML content for invoice var htmlBuilder = new StringBuilder(); htmlBuilder.Append(@" <html> <head> <style> body { font-family: Arial, sans-serif; font-size: 14px; } .invoice-header { background: #f0f0f0; padding: 20px; } table { width: 100%; border-collapse: collapse; } th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; } </style> </head> <body> <div class='invoice-header'> <h1>Invoice #INV-2024-001</h1> <p>Date: " + DateTime.Now.ToString("MM/dd/yyyy") + @"</p> </div> <table> <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>"); // Example of dynamically adding table rows with a for loop for (int i = 0; i < 3; i++) { htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>"); } htmlBuilder.Append(@" </table> <p><strong>This is a new paragraph with a summary.</strong></p> </body> </html>"); // Generate PDF from HTML string PdfDocument pdfObject = renderer.RenderHtmlAsPdf(htmlBuilder.ToString()); // Save the PDF file pdfObject.SaveAs("invoice.pdf"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 此代碼通過結合HTML標記與動態數據創建專業的發票文檔。 注意我們如何在CSS中添加自定義字體大小並使用for (int i ...)循環動態生成表格行。我們還包含了一個新的段落元素()。 RenderHtmlAsPdf方法返回一個PdfDocument對象,該對象使您能夠完全控制生成的文件。對於更多高級HTML到PDF的場景,請探索HTML到PDF教程。 輸出 下面的截圖顯示了我們的示例發票完美呈現在PDF文件格式中。 從URL和網頁生成PDF文件 IronPDF擅長於將現有網頁轉換為PDF文件。 這一功能在從報告儀錶盤或基於網頁的表單中生成PDF文檔時尤為重要: // Create a new ChromePdfRenderer instance var renderer = new ChromePdfRenderer(); // Set custom page size and margins renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; renderer.RenderingOptions.PrintHtmlBackgrounds = true; renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Convert a URL to PDF PdfDocument pdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page"); // Save to file path string filePath = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf"); pdfDocument.SaveAs(filePath); // Create a new ChromePdfRenderer instance var renderer = new ChromePdfRenderer(); // Set custom page size and margins renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; renderer.RenderingOptions.PrintHtmlBackgrounds = true; renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Convert a URL to PDF PdfDocument pdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page"); // Save to file path string filePath = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf"); pdfDocument.SaveAs(filePath); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 該庫處理JavaScript執行、加載外部資源如圖片和樣式表,並在轉換過程中保持響應式布局。 這使其成為從現有web應用程序中創建報告的完美選擇。 了解更多關於將URL轉換為PDF的詳盡指南。 用於複雜報告的高級PDF功能 專業的PDF文件通常需要超出基本內容的其他元素。 IronPDF為增強PDF文件提供了添加標題、頁腳和水印的方法。 標題和頁腳API提供了完全的文檔呈現控制: // Create renderer with advanced options var renderer = new ChromePdfRenderer(); // Add headers and footers renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter { MaxHeight = 25, HtmlFragment = "<div style='text-align:center'>Company Report</div>" }; renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter { MaxHeight = 25, HtmlFragment = "<div>Page {page} of {total-pages}</div>" }; // Generate PDF with form fields renderer.RenderingOptions.CreatePdfFormsFromHtml = true; string formHtml = @" <form> <label>Name: <label>Email: <button type='submit'>Submit</button> </form>"; PdfDocument formDocument = renderer.RenderHtmlAsPdf(formHtml); // Create renderer with advanced options var renderer = new ChromePdfRenderer(); // Add headers and footers renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter { MaxHeight = 25, HtmlFragment = "<div style='text-align:center'>Company Report</div>" }; renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter { MaxHeight = 25, HtmlFragment = "<div>Page {page} of {total-pages}</div>" }; // Generate PDF with form fields renderer.RenderingOptions.CreatePdfFormsFromHtml = true; string formHtml = @" <form> <label>Name: <label>Email: <button type='submit'>Submit</button> </form>"; PdfDocument formDocument = renderer.RenderHtmlAsPdf(formHtml); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 此示例演示了如何在所有頁面添加一致的標題並在PDF文件中創建交互式表單字段。 系統會自動處理頁碼和表單字段渲染。 在ASP.NET Core中使用異步操作優化性能 對於處理多個PDF生成請求的web應用程序,異步操作提高了響應性: public async Task<byte[]> GeneratePdfAsync(string htmlContent) { var renderer = new ChromePdfRenderer(); // Configure for optimal performance renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; // Generate PDF asynchronously PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync(htmlContent); // Return as byte array for API responses return pdf.BinaryData; } // Usage in ASP.NET Core controller [HttpPost] public async Task<IActionResult> CreateInvoice([FromBody] InvoiceData data) { string html = BuildInvoiceHtml(data); byte[] pdfBytes = await GeneratePdfAsync(html); return File(pdfBytes, "application/pdf", "invoice.pdf"); } public async Task<byte[]> GeneratePdfAsync(string htmlContent) { var renderer = new ChromePdfRenderer(); // Configure for optimal performance renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; // Generate PDF asynchronously PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync(htmlContent); // Return as byte array for API responses return pdf.BinaryData; } // Usage in ASP.NET Core controller [HttpPost] public async Task<IActionResult> CreateInvoice([FromBody] InvoiceData data) { string html = BuildInvoiceHtml(data); byte[] pdfBytes = await GeneratePdfAsync(html); return File(pdfBytes, "application/pdf", "invoice.pdf"); } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 這種模式允許ASP.NET Core應用程序高效生成PDF文件,無需阻塞線程,相對於舊的網頁技術如經典ASP,其中文件生成通常是一個繁瑣的過程,有著巨大的提升。 字節數組輸出非常適用於需要直接向客戶端返回文件的API端點。 注意File()方法如何將PDF正確地以application/pdf內容類型返回,確保瀏覽器正確地處理響應。 當處理大型PDF文檔或多個並發請求時,這種異步方法保持了系統性能的最佳水平。 有關異步模式的更多見解,請查閱官方ASP.NET Core文檔。 部署考量 IronPDF支持跨各種環境的部署。 對於Docker容器,確保在Dockerfile中包含必要的依賴項,如Docker部署指南中所述。 該庫可無縫運行在Windows Server、Linux发行版及Azure和AWS等雲平臺上。 每個環境可能需要對字體和渲染進行特定配置,但核心API保持一致。 Microsoft有關.NET Core部署的文檔提供了針對生產環境的額外最佳實踐。 今天開始建構您的PDF生成器 IronPDF將.NET Core中的PDF生成從一個複雜的挑戰轉變為一個簡單的實施。 支持HTML內容、豐富的功能集和一致的跨平台行為,這對於需要可靠生成PDF文檔的開發人員而言是理想的選擇。 準備好實施您自己的PDF文檔生成器了嗎? 開始免費試用以探索無限制的所有功能。 文檔提供了廣泛的示例和指南來幫助您創建滿足具體要求的專業PDF文件。 無論您是在構建發票系統、生成複雜報告,還是在轉換現有web內容,IronPDF都提供了交付像素完美結果的工具。 對於生產部署,探索適合您項目規模的許可選項。 優質PDF庫的投資通過減少開發時間和在所有.NET應用程序中提供一致的專業輸出而獲得回報。 常見問題解答 一個可靠的 .NET Core PDF 產生器應具備哪些關鍵特性? 一款可靠的 .NET Core PDF 產生器應該提供 HTML 轉 PDF、支援多種文件格式、高品質渲染以及輕鬆產生發票和報告等功能。 IronPDF 具備這些功能,確保輸出像素級完美的 PDF 檔案。 如何在.NET Core中將HTML轉換為PDF? 您可以使用 IronPDF 在 .NET Core 中利用其 HTML 轉 PDF 渲染功能將 HTML 轉換為 PDF。這使您可以精確地將網頁、HTML 字串或本機 HTML 檔案轉換為 PDF 文件。 我可以在 .NET Core 中使用 IronPDF 建立發票嗎? 是的,您可以使用 .NET Core 中的 IronPDF 建立發票。 IronPDF 提供從 HTML 範本產生 PDF 文件的功能,讓您輕鬆設計和製作專業的發票。 是否可以在 .NET Core 中使用 IronPDF 產生報表? 當然。 .NET Core 中的 IronPDF 可以將 HTML 內容轉換為 PDF 格式,從而產生詳細的報告,確保您的報告既美觀又易於分享。 IronPDF是否支援像素級精確渲染? 是的,IronPDF 支援像素級精確渲染,確保產生的 PDF 檔案與原始 HTML 設計和佈局完美匹配。這對於保持文件呈現的完整性至關重要。 IronPDF 在 .NET Core 可以處理哪些檔案格式? IronPDF 可以處理 .NET Core 中的多種文件格式,包括將 HTML、圖像和 ASPX 文件轉換為 PDF。它能夠靈活滿足不同的專案需求。 IronPDF 如何確保高品質的 PDF 輸出? IronPDF 採用先進的渲染技術,支援各種字體和樣式,從而確保高品質的 PDF 輸出,產生專業、準確的 PDF 文件。 IronPDF 是否適用於在 .NET Core 中建立行銷資料? 是的,IronPDF 非常適合在 .NET Core 中建立行銷資料。它能夠將包含 CSS 樣式元素的豐富 HTML 內容轉換為 PDF,使其成為製作宣傳冊和傳單的理想選擇。 我可以自訂使用 IronPDF 產生的 PDF 文件的佈局嗎? IronPDF 允許使用 HTML 和 CSS 對 PDF 文件佈局進行廣泛自訂,讓您可以控制 PDF 文件的設計和結構。 在 .NET Core 中使用 IronPDF 產生 PDF 有哪些好處? 在 .NET Core 中使用 IronPDF 生成 PDF 的好處包括易於使用、文檔齊全、對 HTML 到 PDF 轉換有強大的支持,以及能夠高效地生成專業質量的文檔。 IronPDF 是否完全相容於 .NET 10? 是的。 IronPDF 可以在 .NET 10 上無縫運行,提供與 .NET 6、7、8 和 9 等早期版本相同的豐富的 PDF 生成、編輯和渲染功能。它支援 .NET 10 的新效能改進和專案類型,包括 Web、桌面、控制台和 MAUI。 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。 閱讀更多 如何在 C# 中動態生成 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 添加互動功能。 閱讀更多