IronPDF 教程 .NET Core PDF 生成 如何在 C# .NET Core 中將 HTML 轉換為 PDF Jacob Mellor 更新:8月 14, 2025 下載 IronPDF NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English 由於 PDF 格式的標準非常嚴格,將各種格式的文件轉換為 PDF 格式可能具有挑戰性。 在許多情況下,轉換可能無法得到完全匹配的結果,尤其是在處理 HTML 和 CSS 樣式時。 然而,在當今的數位環境中,轉換 URL 和表單(包括包含 HTML 和 CSS 的 URL 和表單)的能力至關重要。 IronPDF 的優勢就在於此,它提供了直覺的功能,使開發人員能夠將各種格式的文件高保真地轉換為 PDF,通常只需幾行程式碼即可完成。 使用 IronPDF,您可以輕鬆地將 HTML、DOCX、RTF、Markdown 甚至圖片轉換為 PDF,確保文件的完整性得到維護。 它還支援轉換來自 Razor、CSHTML、ASPX 和 XAML 等流行框架的動態網頁,消除了相容性問題,使 IronPDF 成為滿足所有 PDF 轉換需求的全面解決方案。 除了簡單的轉換功能外,IronPDF 還提供強大的自訂選項。 您可以自訂 PDF 輸出的頁邊距、頁首和頁腳,新增頁碼,並調整灰階設定以縮小檔案大小。此外,您還可以新增目錄、自動分頁符號以及可完美縮放至所需文件大小的內容等功能,從而增強文件品質。 在本教學中,我們將探索這些功能以及更多內容,提供程式碼範例並重點介紹 IronPDF 的關鍵功能。 準備好徹底改變您的 PDF 轉換流程吧! IronPDF 讓您輕鬆轉換、自訂和最佳化 PDF 文件。 快速入門:使用 IronPDF 將 HTML 轉換為 PDF 使用 IronPDF 在 .NET Core 中輕鬆將 HTML 轉換為 PDF。 只需一行程式碼,即可使用 IronPDF 的強大 API 從 HTML 字串渲染出像素級完美的 PDF。 本指南將向您展示如何快速將 IronPDF 整合到您的專案中,從而以最少的設定實現無縫 PDF 生成。無論您是轉換 HTML、URL 還是 Razor 視圖,IronPDF 都能簡化流程,讓各個層級的開發人員都能輕鬆上手。 立即開始轉換,準備好後再探索進階功能。 立即開始使用 NuGet 建立 PDF 檔案: 使用 NuGet 套件管理器安裝 IronPDF PM > Install-Package IronPdf 複製並運行這段程式碼。 var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello, PDF!</h1>"); 部署到您的生產環境進行測試 立即開始在您的專案中使用 IronPDF,免費試用! 免費試用30天 目錄 -多功能 PDF 轉換 -從 HTML 字串產生 PDF 從 HTML 檔案產生 PDF 從 URL 取得 PDF -圖片轉PDF -來自 PDF 的圖像 將 DOCX 轉換為 PDF 將 RTF 轉換為 PDF 將MD文件轉換為PDF文件 將 XML 轉換為 PDF PDF 轉 HTML -將動態網頁轉換為 PDF -來自 ASPX Pages 的 PDF XAML 轉 PDF (MAUI) -產生 PDF 報告 -在 Blazor 伺服器中建立 PDF Razor 轉 PDF(Blazor 伺服器) CSHTML 轉 PDF 概述 CSHTML 轉 PDF(Razor Pages) CSHTML 轉 PDF(MVC Core) CSHTML 轉 PDF(MVC 框架) CSHTML 轉 PDF(無頭模式) -網路無障礙 TLS 網站和系統登錄 Cookies HTTP 請求頭 -客製化 PDF 轉換 -渲染選項 -設定自訂邊距 -灰階 -優化 PDF 版面 -新增目錄 分頁符 -適應紙張和縮放 立即開始在您的項目中使用 IronPDF 並免費試用。 第一步: 免費啟動 !{--010011000100100101000010010100100100000101010010010110010101111101001110010101010101010101010101010101010101010 0100010111110100100101001101010100010000010100110001001100010111110100001001001100010011110010101010 多功能 PDF 轉換 從 HTML 字串產生 PDF 要將 HTML 字串轉換為 PDF,我們可以使用RenderHtmlAsPdf方法將 HTML 字串快速轉換為像素級完美的 PDF。 :path=/static-assets/pdf/content-code-examples/how-to/html-string-to-pdf.cs using IronPdf; // Instantiate Renderer var renderer = new ChromePdfRenderer(); // Create a PDF from a HTML string using C# var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>"); // Export to a file or Stream pdf.SaveAs("output.pdf"); Imports IronPdf ' Instantiate Renderer Private renderer = New ChromePdfRenderer() ' Create a PDF from a HTML string using C# Private pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>") ' Export to a file or Stream pdf.SaveAs("output.pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 從 HTML 產生 PDF 使用我們的RenderHtmlAsPdf方法,輕鬆將 HTML 檔案轉換為 PDF,並快速儲存像素完美的 PDF。 :path=/static-assets/pdf/content-code-examples/how-to/html-file-to-pdf.cs using IronPdf; using IronPdf.Engines.Chrome; using IronPdf.Rendering; var renderer = new ChromePdfRenderer { RenderingOptions = new ChromePdfRenderOptions { CssMediaType = PdfCssMediaType.Print, MarginBottom = 0, MarginLeft = 0, MarginRight = 0, MarginTop = 0, Timeout = 120, }, }; renderer.RenderingOptions.WaitFor.RenderDelay(50); // Create a PDF from an existing HTML file using C# var pdf = renderer.RenderHtmlFileAsPdf("example.html"); // Export to a file or Stream pdf.SaveAs("output.pdf"); Imports IronPdf Imports IronPdf.Engines.Chrome Imports IronPdf.Rendering Private renderer = New ChromePdfRenderer With { .RenderingOptions = New ChromePdfRenderOptions With { .CssMediaType = PdfCssMediaType.Print, .MarginBottom = 0, .MarginLeft = 0, .MarginRight = 0, .MarginTop = 0, .Timeout = 120 } } renderer.RenderingOptions.WaitFor.RenderDelay(50) ' Create a PDF from an existing HTML file using C# Dim pdf = renderer.RenderHtmlFileAsPdf("example.html") ' Export to a file or Stream pdf.SaveAs("output.pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 從 URL 取得 PDF 使用RenderUrlAsPdf ,只需幾行程式碼即可快速將 URL 轉換為 PDF。 將網址作為參數輸入,即可輕鬆儲存。 :path=/static-assets/pdf/content-code-examples/how-to/url-to-pdf.cs using IronPdf; // Instantiate Renderer var renderer = new ChromePdfRenderer(); // Create a PDF from a URL or local file path var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page"); // Export to a file or Stream pdf.SaveAs("url.pdf"); Imports IronPdf ' Instantiate Renderer Private renderer = New ChromePdfRenderer() ' Create a PDF from a URL or local file path Private pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page") ' Export to a file or Stream pdf.SaveAs("url.pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 圖片轉PDF 您是否有想要以 PDF 格式顯示的圖片? 使用我們的ImageToPdfConverter類別快速轉換,並呼叫ImageToPdf方法。 :path=/static-assets/pdf/content-code-examples/how-to/image-to-pdf-convert-one-image.cs using IronPdf; string imagePath = "meetOurTeam.jpg"; // Convert an image to a PDF PdfDocument pdf = ImageToPdfConverter.ImageToPdf(imagePath); // Export the PDF pdf.SaveAs("imageToPdf.pdf"); Imports IronPdf Private imagePath As String = "meetOurTeam.jpg" ' Convert an image to a PDF Private pdf As PdfDocument = ImageToPdfConverter.ImageToPdf(imagePath) ' Export the PDF pdf.SaveAs("imageToPdf.pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 PDF中的影像 與上面的例子相反,我們可以先將輸入轉換為 PDF,然後使用RasterizeToImageFiles方法將 PDF 轉換為影像。 :path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-rasterize.cs using IronPdf; // Instantiate Renderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render PDF from web URL PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page"); // Export images from PDF pdf.RasterizeToImageFiles("wikipage_*.png"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 將 DOCX 轉換為 PDF。 您是否曾經需要輕鬆地將 DOCX 檔案(例如履歷)轉換為 PDF 檔案? IronPdf 為您提供服務。 只需呼叫RenderDocxAsPDF即可進行轉換。 :path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-from-file.cs using IronPdf; // Instantiate Renderer DocxToPdfRenderer renderer = new DocxToPdfRenderer(); // Render from DOCX file PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx"); // Save the PDF pdf.SaveAs("pdfFromDocx.pdf"); Imports IronPdf ' Instantiate Renderer Private renderer As New DocxToPdfRenderer() ' Render from DOCX file Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx") ' Save the PDF pdf.SaveAs("pdfFromDocx.pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 將 RTF 轉換為 PDF 要將 RTF 檔案轉換為 PDF,我們呼叫RenderRtfFileAsPdf函數,並將 RTF 檔案作為輸入。 :path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-from-file.cs using IronPdf; // Instantiate Renderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render from RTF file PdfDocument pdf = renderer.RenderRtfFileAsPdf("sample.rtf"); // Save the PDF pdf.SaveAs("pdfFromRtfFile.pdf"); Imports IronPdf ' Instantiate Renderer Private renderer As New ChromePdfRenderer() ' Render from RTF file Private pdf As PdfDocument = renderer.RenderRtfFileAsPdf("sample.rtf") ' Save the PDF pdf.SaveAs("pdfFromRtfFile.pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 將MD轉換為PDF 要將 MD 文件轉換為 PDF 文件,我們可以呼叫RenderMarkdownFileAsPdf方法,並將 MD 文件作為輸入。 :path=/static-assets/pdf/content-code-examples/how-to/md-to-pdf-from-file.cs using IronPdf; // Instantiate Renderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render from markdown file PdfDocument pdf = renderer.RenderMarkdownFileAsPdf("sample.md"); // Save the PDF pdf.SaveAs("pdfFromMarkdownFile.pdf"); Imports IronPdf ' Instantiate Renderer Private renderer As New ChromePdfRenderer() ' Render from markdown file Private pdf As PdfDocument = renderer.RenderMarkdownFileAsPdf("sample.md") ' Save the PDF pdf.SaveAs("pdfFromMarkdownFile.pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 將 XML 轉換為 PDF 雖然將 XML 轉換為 PDF 可能相當具有挑戰性,但 IronPDF 仍然能夠應對挑戰,只需幾個步驟即可協助將 XML 轉換為 PDF。 我們首先使用 XLST 模板,然後透過 XLST 轉換將 XML 轉換為 HTML 格式的 PDF。 以下是程式碼片段的簡化版本,可協助您入門。 // XSLT template that defines the transformation from XML to HTML string xslt = @"<?xml version='1.0' encoding='UTF-8'?> <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match='/'> <html> <style> td{ text-align: center; padding: 20px; border: 1px solid #CDE7F0; } th{ color: white; padding: 20px; } </style> <body style='font-family: Arial, Helvetica Neue, Helvetica, sans-serif;'> <table style='border-collapse: collapse;'> <thead> <tr> <th colspan='3'> <img style='margin: auto;' src='https://ironsoftware.com/img/svgs/ironsoftware-logo-black.svg'/> </th> </tr> </thead> <tbody> <tr bgcolor='#9acd32'> <th bgcolor='#32ab90'>Title</th> <th bgcolor='#f49400'>Feature</th> <th bgcolor='#2a95d5'>Compatible</th> </tr> <xsl:for-each select='catalog/cd'> <tr> <td style='font-weight: bold;'><xsl:value-of select='title'/></td> <td style='background-color: #eff8fb; color: #2a95d5; font-weight: bold;'><xsl:value-of select='feature'/></td> <td><xsl:value-of select='compatible'/></td> </tr> </xsl:for-each> </tbody> </table> </body> </html> </xsl:template> </xsl:stylesheet> "; // XML data to transform string xml = @"<?xml version='1.0' encoding='UTF-8'?> <catalog> <cd> <title>IronPDF</title> <feature>Generate, format and manipulate PDFs</feature> <compatible>Microsoft Windows, Linux (Debian, CentOS, Ubuntu), MacOS, Docker (Windows, Linux, Azure), Azure (VPS, Webapps, Websites, Functions), AWS</compatible> </cd> <cd> <title>IronOCR</title> <feature>OCR engine, input, result</feature> <compatible>Microsoft Windows, Linux, MacOS, Docker, Azure, AWS</compatible> </cd> <cd> <title>IronBarcode</title> <feature>Format, read and write Barcode</feature> <compatible>Microsoft Windows, Linux, MacOS, Docker, Azure, AWS</compatible> </cd> </catalog> "; // Create an instance of XslCompiledTransform XslCompiledTransform transform = new XslCompiledTransform(); // Load the XSLT from a string using (XmlReader reader = XmlReader.Create(new StringReader(xslt))) { transform.Load(reader); } // Transform the XML to HTML StringWriter results = new StringWriter(); using (XmlReader reader = XmlReader.Create(new StringReader(xml))) { transform.Transform(reader, null, results); } // Create a renderer for converting HTML to PDF IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer(); // Options, headers, and footers may be set here if needed // Render our XML as a PDF via XSLT transformation renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf"); // XSLT template that defines the transformation from XML to HTML string xslt = @"<?xml version='1.0' encoding='UTF-8'?> <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match='/'> <html> <style> td{ text-align: center; padding: 20px; border: 1px solid #CDE7F0; } th{ color: white; padding: 20px; } </style> <body style='font-family: Arial, Helvetica Neue, Helvetica, sans-serif;'> <table style='border-collapse: collapse;'> <thead> <tr> <th colspan='3'> <img style='margin: auto;' src='https://ironsoftware.com/img/svgs/ironsoftware-logo-black.svg'/> </th> </tr> </thead> <tbody> <tr bgcolor='#9acd32'> <th bgcolor='#32ab90'>Title</th> <th bgcolor='#f49400'>Feature</th> <th bgcolor='#2a95d5'>Compatible</th> </tr> <xsl:for-each select='catalog/cd'> <tr> <td style='font-weight: bold;'><xsl:value-of select='title'/></td> <td style='background-color: #eff8fb; color: #2a95d5; font-weight: bold;'><xsl:value-of select='feature'/></td> <td><xsl:value-of select='compatible'/></td> </tr> </xsl:for-each> </tbody> </table> </body> </html> </xsl:template> </xsl:stylesheet> "; // XML data to transform string xml = @"<?xml version='1.0' encoding='UTF-8'?> <catalog> <cd> <title>IronPDF</title> <feature>Generate, format and manipulate PDFs</feature> <compatible>Microsoft Windows, Linux (Debian, CentOS, Ubuntu), MacOS, Docker (Windows, Linux, Azure), Azure (VPS, Webapps, Websites, Functions), AWS</compatible> </cd> <cd> <title>IronOCR</title> <feature>OCR engine, input, result</feature> <compatible>Microsoft Windows, Linux, MacOS, Docker, Azure, AWS</compatible> </cd> <cd> <title>IronBarcode</title> <feature>Format, read and write Barcode</feature> <compatible>Microsoft Windows, Linux, MacOS, Docker, Azure, AWS</compatible> </cd> </catalog> "; // Create an instance of XslCompiledTransform XslCompiledTransform transform = new XslCompiledTransform(); // Load the XSLT from a string using (XmlReader reader = XmlReader.Create(new StringReader(xslt))) { transform.Load(reader); } // Transform the XML to HTML StringWriter results = new StringWriter(); using (XmlReader reader = XmlReader.Create(new StringReader(xml))) { transform.Transform(reader, null, results); } // Create a renderer for converting HTML to PDF IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer(); // Options, headers, and footers may be set here if needed // Render our XML as a PDF via XSLT transformation renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf"); ' XSLT template that defines the transformation from XML to HTML Dim xslt As String = "<?xml version='1.0' encoding='UTF-8'?> <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match='/'> <html> <style> td{ text-align: center; padding: 20px; border: 1px solid #CDE7F0; } th{ color: white; padding: 20px; } </style> <body style='font-family: Arial, Helvetica Neue, Helvetica, sans-serif;'> <table style='border-collapse: collapse;'> <thead> <tr> <th colspan='3'> <img style='margin: auto;' src='https://ironsoftware.com/img/svgs/ironsoftware-logo-black.svg'/> </th> </tr> </thead> <tbody> <tr bgcolor='#9acd32'> <th bgcolor='#32ab90'>Title</th> <th bgcolor='#f49400'>Feature</th> <th bgcolor='#2a95d5'>Compatible</th> </tr> <xsl:for-each select='catalog/cd'> <tr> <td style='font-weight: bold;'><xsl:value-of select='title'/></td> <td style='background-color: #eff8fb; color: #2a95d5; font-weight: bold;'><xsl:value-of select='feature'/></td> <td><xsl:value-of select='compatible'/></td> </tr> </xsl:for-each> </tbody> </table> </body> </html> </xsl:template> </xsl:stylesheet> " ' XML data to transform Dim xml As String = "<?xml version='1.0' encoding='UTF-8'?> <catalog> <cd> <title>IronPDF</title> <feature>Generate, format and manipulate PDFs</feature> <compatible>Microsoft Windows, Linux (Debian, CentOS, Ubuntu), MacOS, Docker (Windows, Linux, Azure), Azure (VPS, Webapps, Websites, Functions), AWS</compatible> </cd> <cd> <title>IronOCR</title> <feature>OCR engine, input, result</feature> <compatible>Microsoft Windows, Linux, MacOS, Docker, Azure, AWS</compatible> </cd> <cd> <title>IronBarcode</title> <feature>Format, read and write Barcode</feature> <compatible>Microsoft Windows, Linux, MacOS, Docker, Azure, AWS</compatible> </cd> </catalog> " ' Create an instance of XslCompiledTransform Dim transform As New XslCompiledTransform() ' Load the XSLT from a string Using reader As XmlReader = XmlReader.Create(New StringReader(xslt)) transform.Load(reader) End Using ' Transform the XML to HTML Dim results As New StringWriter() Using reader As XmlReader = XmlReader.Create(New StringReader(xml)) transform.Transform(reader, Nothing, results) End Using ' Create a renderer for converting HTML to PDF Dim renderer As New IronPdf.ChromePdfRenderer() ' Options, headers, and footers may be set here if needed ' Render our XML as a PDF via XSLT transformation renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 PDF 轉 HTML 除了將各種格式轉換為 PDF 之外,IronPDF 還支援將 PDF 轉換為 HTML 的相反操作。 以下是一個簡單的程式碼片段,用於演示該功能。 :path=/static-assets/pdf/content-code-examples/how-to/pdf-to-html.cs using IronPdf; using System; PdfDocument pdf = PdfDocument.FromFile("sample.pdf"); // Convert PDF to HTML string string html = pdf.ToHtmlString(); Console.WriteLine(html); // Convert PDF to HTML file pdf.SaveAsHtml("myHtml.html"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 動態網頁轉PDF 您是否需要將動態網頁儲存並轉換為 PDF 文件,同時保持其佈局和格式不變? 如果您正在尋找能夠快速將各種流行的動態網頁框架轉換為 PDF 的工具,那麼 IronPDF 就是您的最佳選擇。 從 ASPX Pages 取得 PDF 文件 以下是關於在 Active Server Pages 中將 ASPX 頁面轉換為 PDF 的簡短程式碼片段。 :path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-2.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using IronPdf; namespace AspxToPdfTutorial { public partial class Invoice : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser); } } } Imports System Imports System.Collections.Generic Imports System.Linq Imports System.Web Imports System.Web.UI Imports System.Web.UI.WebControls Imports IronPdf Namespace AspxToPdfTutorial Partial Public Class Invoice Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser) End Sub End Class End Namespace $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 XAML 轉 PDF (MAUI) 對於希望建立跨平台應用程式的開發人員來說,.NET MAUI 是眾多框架中的熱門選擇。 IronPDF 完全支援將 XAML 轉換為 PDF,只需幾個步驟即可完成。 :path=/static-assets/pdf/content-code-examples/how-to/xaml-to-pdf-maui-mainpage-xaml-cs.cs using IronPdf.Extensions.Maui; namespace mauiSample; public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); } private void PrintToPdf(object sender, EventArgs e) { ChromePdfRenderer renderer = new ChromePdfRenderer(); // Apply HTML header renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { HtmlFragment = "<h1>Header</h1>", }; // Render PDF from Maui Page PdfDocument pdf = renderer.RenderContentPageToPdf<MainPage, App>().Result; pdf.SaveAs(@"C:\Users\lyty1\Downloads\contentPageToPdf.pdf"); } } Imports IronPdf.Extensions.Maui Namespace mauiSample Partial Public Class MainPage Inherits ContentPage Public Sub New() InitializeComponent() End Sub Private Sub PrintToPdf(ByVal sender As Object, ByVal e As EventArgs) Dim renderer As New ChromePdfRenderer() ' Apply HTML header renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {.HtmlFragment = "<h1>Header</h1>"} ' Render PDF from Maui Page Dim pdf As PdfDocument = renderer.RenderContentPageToPdf(Of MainPage, App)().Result pdf.SaveAs("C:\Users\lyty1\Downloads\contentPageToPdf.pdf") End Sub End Class End Namespace $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 產生 PDF 報告 產生 PDF 報告時,精確的尺寸和格式至關重要。 因此,IronPDF 只需幾個步驟即可讓您無縫生成 PDF 文件。 :path=/static-assets/pdf/content-code-examples/how-to/csharp-pdf-reports-render-html-file.cs using IronPdf; ChromePdfRenderer renderer = new ChromePdfRenderer(); renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf"); Imports IronPdf Private renderer As New ChromePdfRenderer() renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 在 Blazor 伺服器中建立 PDF IronPDF 支援 .NET 6,由於它包含 Blazor 等專案類型,因此程式碼片段提供瞭如何在 Blazor Server 中建立 PDF 的簡要範例。 @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(); // 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; } = "My new message"; } } @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(); // 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; } = "My new message"; } } code If True Then ' Model to bind user input private InputHTMLModel _InputMsgModel = New InputHTMLModel() 'INSTANT VB TODO TASK: Local functions are not converted by Instant VB: ' 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(); ' ' ' 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 ' var streamRef = New DotNetStreamReference(stream: doc.Stream); ' ' ' Invoke JavaScript function to download the PDF in the browser ' await JS.InvokeVoidAsync("SubmitHTML", fileName, streamRef); ' } 'INSTANT VB TODO TASK: Local functions are not converted by Instant VB: ' public class InputHTMLModel ' { ' public string HTML ' { ' get; ' set; ' } = "My new message"; ' } End If $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 Razor 轉 PDF(Blazor 伺服器) 除了在 Blazor 伺服器中建立 PDF 之外,IronPDF 還支援從 Blazor 頁面中的 Razor 元件產生 PDF 文件。 大大簡化了 PDF 文件和頁面的建立流程。 [Parameter] public IEnumerable<PersonInfo> persons { get; set; } public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>(); protected override async Task OnInitializedAsync() { persons = new List<PersonInfo> { new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } }; } private async void PrintToPdf() { ChromePdfRenderer renderer = new ChromePdfRenderer(); // Apply text footer renderer.RenderingOptions.TextFooter = new TextHeaderFooter() { LeftText = "{date} - {time}", DrawDividerLine = true, RightText = "Page {page} of {total-pages}", Font = IronSoftware.Drawing.FontTypes.Arial, FontSize = 11 }; Parameters.Add("persons", persons); // Render razor component to PDF PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters); File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData); } [Parameter] public IEnumerable<PersonInfo> persons { get; set; } public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>(); protected override async Task OnInitializedAsync() { persons = new List<PersonInfo> { new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } }; } private async void PrintToPdf() { ChromePdfRenderer renderer = new ChromePdfRenderer(); // Apply text footer renderer.RenderingOptions.TextFooter = new TextHeaderFooter() { LeftText = "{date} - {time}", DrawDividerLine = true, RightText = "Page {page} of {total-pages}", Font = IronSoftware.Drawing.FontTypes.Arial, FontSize = 11 }; Parameters.Add("persons", persons); // Render razor component to PDF PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters); File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData); } <Parameter> Public Property persons() As IEnumerable(Of PersonInfo) Public Property Parameters() As New Dictionary(Of String, Object)() Protected Overrides Async Function OnInitializedAsync() As Task persons = New List(Of PersonInfo) From { New PersonInfo With { .Name = "Alice", .Title = "Mrs.", .Description = "Software Engineer" }, New PersonInfo With { .Name = "Bob", .Title = "Mr.", .Description = "Software Engineer" }, New PersonInfo With { .Name = "Charlie", .Title = "Mr.", .Description = "Software Engineer" } } End Function Private Async Sub PrintToPdf() Dim renderer As New ChromePdfRenderer() ' Apply text footer renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With { .LeftText = "{date} - {time}", .DrawDividerLine = True, .RightText = "Page {page} of {total-pages}", .Font = IronSoftware.Drawing.FontTypes.Arial, .FontSize = 11 } Parameters.Add("persons", persons) ' Render razor component to PDF Dim pdf As PdfDocument = renderer.RenderRazorComponentToPdf(Of Person)(Parameters) File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData) End Sub $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 CSHTML 轉 PDF 將 CSHTML (Razor) 轉換為 PDF 可讓您直接從 Web 應用程式產生專業的、可直接列印的文件。 這對於發票、報告、合約或任何動態內容都非常有用。 IronPDF 支援 Razor Pages、MVC Core 和 MVC Framework,以及無頭渲染,只需幾行程式碼即可將 PDF 生成無縫整合到您的 .NET 應用程式中。 CSHTML 轉 PDF(Razor Pages) using IronPdf.Razor.Pages; public IActionResult OnPostAsync() { persons = new List<Person> { new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } }; ViewData["personList"] = persons; ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render Razor Page to PDF document PdfDocument pdf = renderer.RenderRazorToPdf(this); Response.Headers.Add("Content-Disposition", "inline"); return File(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf"); } using IronPdf.Razor.Pages; public IActionResult OnPostAsync() { persons = new List<Person> { new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } }; ViewData["personList"] = persons; ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render Razor Page to PDF document PdfDocument pdf = renderer.RenderRazorToPdf(this); Response.Headers.Add("Content-Disposition", "inline"); return File(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf"); } Imports IronPdf.Razor.Pages Public Function OnPostAsync() As IActionResult persons = New List(Of Person) From { New Person With { .Name = "Alice", .Title = "Mrs.", .Description = "Software Engineer" }, New Person With { .Name = "Bob", .Title = "Mr.", .Description = "Software Engineer" }, New Person With { .Name = "Charlie", .Title = "Mr.", .Description = "Software Engineer" } } ViewData("personList") = persons Dim renderer As New ChromePdfRenderer() ' Render Razor Page to PDF document Dim pdf As PdfDocument = renderer.RenderRazorToPdf(Me) Response.Headers.Add("Content-Disposition", "inline") Return File(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf") End Function $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 CSHTML 轉 PDF(MVC Core) public async Task<IActionResult> Persons() { var persons = new List<Person> { new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } }; if (_httpContextAccessor.HttpContext.Request.Method == HttpMethod.Post.Method) { ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render View to PDF document PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons); Response.Headers.Add("Content-Disposition", "inline"); // Output PDF document return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf"); } return View(persons); } public async Task<IActionResult> Persons() { var persons = new List<Person> { new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } }; if (_httpContextAccessor.HttpContext.Request.Method == HttpMethod.Post.Method) { ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render View to PDF document PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons); Response.Headers.Add("Content-Disposition", "inline"); // Output PDF document return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf"); } return View(persons); } Public Async Function Persons() As Task(Of IActionResult) 'INSTANT VB NOTE: The local variable persons was renamed since Visual Basic will not allow local variables with the same name as their enclosing function or property: Dim persons_Conflict = New List(Of Person) From { New Person With { .Name = "Alice", .Title = "Mrs.", .Description = "Software Engineer" }, New Person With { .Name = "Bob", .Title = "Mr.", .Description = "Software Engineer" }, New Person With { .Name = "Charlie", .Title = "Mr.", .Description = "Software Engineer" } } If _httpContextAccessor.HttpContext.Request.Method = HttpMethod.Post.Method Then Dim renderer As New ChromePdfRenderer() ' Render View to PDF document Dim pdf As PdfDocument = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons_Conflict) Response.Headers.Add("Content-Disposition", "inline") ' Output PDF document Return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf") End If Return View(persons_Conflict) End Function $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 CSHTML 轉 PDF(MVC 框架) public ActionResult Persons() { var persons = new List<Person> { new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } }; if (HttpContext.Request.HttpMethod == "POST") { // Provide the path to your view file var viewPath = "~/Views/Home/Persons.cshtml"; ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render Razor view to PDF document PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons); Response.Headers.Add("Content-Disposition", "inline"); // View the PDF return File(pdf.BinaryData, "application/pdf"); } return View(persons); } public ActionResult Persons() { var persons = new List<Person> { new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" }, new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" }, new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" } }; if (HttpContext.Request.HttpMethod == "POST") { // Provide the path to your view file var viewPath = "~/Views/Home/Persons.cshtml"; ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render Razor view to PDF document PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons); Response.Headers.Add("Content-Disposition", "inline"); // View the PDF return File(pdf.BinaryData, "application/pdf"); } return View(persons); } Public Function Persons() As ActionResult 'INSTANT VB NOTE: The local variable persons was renamed since Visual Basic will not allow local variables with the same name as their enclosing function or property: Dim persons_Conflict = New List(Of Person) From { New Person With { .Name = "Alice", .Title = "Mrs.", .Description = "Software Engineer" }, New Person With { .Name = "Bob", .Title = "Mr.", .Description = "Software Engineer" }, New Person With { .Name = "Charlie", .Title = "Mr.", .Description = "Software Engineer" } } If HttpContext.Request.HttpMethod = "POST" Then ' Provide the path to your view file Dim viewPath = "~/Views/Home/Persons.cshtml" Dim renderer As New ChromePdfRenderer() ' Render Razor view to PDF document Dim pdf As PdfDocument = renderer.RenderView(Me.HttpContext, viewPath, persons_Conflict) Response.Headers.Add("Content-Disposition", "inline") ' View the PDF Return File(pdf.BinaryData, "application/pdf") End If Return View(persons_Conflict) End Function $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 CSHTML 轉 PDF(無頭模式) app.MapGet("/PrintPdf", async () => { // Set your IronPDF license key IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"; // Enable detailed logging for troubleshooting IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All; // Render the Razor view to an HTML string string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml"); // Create a new instance of ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render the HTML string as a PDF document PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot"); // Return the PDF file as a response return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf"); }); app.MapGet("/PrintPdf", async () => { // Set your IronPDF license key IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"; // Enable detailed logging for troubleshooting IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All; // Render the Razor view to an HTML string string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml"); // Create a new instance of ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render the HTML string as a PDF document PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot"); // Return the PDF file as a response return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf"); }); app.MapGet("/PrintPdf", Async Function() ' Set your IronPDF license key IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01" ' Enable detailed logging for troubleshooting IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All ' Render the Razor view to an HTML string Dim html As String = Await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml") ' Create a new instance of ChromePdfRenderer Dim renderer As New ChromePdfRenderer() ' Render the HTML string as a PDF document Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html, "./wwwroot") ' Return the PDF file as a response Return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf") End Function) $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 網路無障礙訪問 TLS 網站和系統登錄 IronPDF 為轉換需要身份驗證的網頁提供了一個簡單的解決方案。 利用其渲染選項,使用者可以使用ChromeHttpLoginCredntials屬性繞過使用者名稱和密碼。 :path=/static-assets/pdf/content-code-examples/how-to/logins-username-password.cs using IronPdf; using System; ChromePdfRenderer renderer = new ChromePdfRenderer { // setting login credentials to bypass basic authentication LoginCredentials = new ChromeHttpLoginCredentials() { NetworkUsername = "testUser", NetworkPassword = "testPassword" } }; var uri = new Uri("http://localhost:51169/Invoice"); // Render web URL to PDF PdfDocument pdf = renderer.RenderUrlAsPdf(uri); // Export PDF pdf.SaveAs("UrlToPdfExample.Pdf"); Imports IronPdf Imports System Private renderer As New ChromePdfRenderer With { .LoginCredentials = New ChromeHttpLoginCredentials() With { .NetworkUsername = "testUser", .NetworkPassword = "testPassword" } } Private uri = New Uri("http://localhost:51169/Invoice") ' Render web URL to PDF Private pdf As PdfDocument = renderer.RenderUrlAsPdf(uri) ' Export PDF pdf.SaveAs("UrlToPdfExample.Pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 餅乾 在額外的登入請求中使用 cookie 以確保儲存您的會話! 這將使在鎖定域內渲染其他資源變得更加容易,所有操作都在 IronPDF 中完成。 :path=/static-assets/pdf/content-code-examples/how-to/cookies-apply-cookies.cs using IronPdf; // Instantiate ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global; ChromeHttpLoginCredentials credentials = new ChromeHttpLoginCredentials() { NetworkUsername = "testUser", NetworkPassword = "testPassword" }; string uri = "http://localhost:51169/Invoice"; // Apply cookies renderer.ApplyCookies(uri, credentials); Imports IronPdf ' Instantiate ChromePdfRenderer Private renderer As New ChromePdfRenderer() renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global Dim credentials As New ChromeHttpLoginCredentials() With { .NetworkUsername = "testUser", .NetworkPassword = "testPassword" } Dim uri As String = "http://localhost:51169/Invoice" ' Apply cookies renderer.ApplyCookies(uri, credentials) $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 HTTP 請求頭 除了 cookie 之外,IronPDF 還允許使用者使用授權令牌和其他常用相關欄位自訂 HTTP 請求標頭。 :path=/static-assets/pdf/content-code-examples/how-to/http-request-header.cs using IronPdf; using System.Collections.Generic; var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.HttpRequestHeaders = new Dictionary<string, string> { { "Authorization", "Bearer test-token-123" } }; // Render PDF from authenticated page var pdf = renderer.RenderUrlAsPdf("https://httpbin.org/bearer"); pdf.SaveAs("output.pdf"); Imports IronPdf Imports System.Collections.Generic Private renderer = New ChromePdfRenderer() renderer.RenderingOptions.HttpRequestHeaders = New Dictionary(Of String, String) From { {"Authorization", "Bearer test-token-123"} } ' Render PDF from authenticated page Dim pdf = renderer.RenderUrlAsPdf("https://httpbin.org/bearer") pdf.SaveAs("output.pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 客製化您的 PDF 轉換 渲染選項 IronPDF 允許使用者自訂產生的 PDF 的外觀和格式。 用於將各種輸入轉換為 PDF 的ChromePdfRender類別還包含RenderingOptions屬性,允許使用者控制輸出的外觀。 :path=/static-assets/pdf/content-code-examples/how-to/rendering-options-render.cs using IronPdf; // Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser // to render HTML/CSS as a PDF document. ChromePdfRenderer renderer = new ChromePdfRenderer(); // Configure rendering options // Enable printing of HTML backgrounds to ensure all styles are visible. renderer.RenderingOptions.PrintHtmlBackgrounds = true; // Set HTML header content using HtmlHeaderFooter. renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter { // HTML fragment to add a header at the top of every page in the PDF. HtmlFragment = "<h1>Header Content</h1>" }; // Set a custom paper size for the PDF in millimeters (width and height). renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150); // Set the top margin to zero to start the content from the very top of the page. renderer.RenderingOptions.MarginTop = 0; // Define a Markdown string that will be rendered as a PDF. // Markdown text allows basic formatting like bold and italic styles. string md = "This is some **bold** and *italic* text."; // Render the Markdown string to a PDF document. // The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF. PdfDocument pdf = renderer.RenderMarkdownStringAsPdf(md); // Save the generated PDF to a file named "renderingOptions.pdf." pdf.SaveAs("renderingOptions.pdf"); Imports IronPdf ' Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser ' to render HTML/CSS as a PDF document. Private renderer As New ChromePdfRenderer() ' Configure rendering options ' Enable printing of HTML backgrounds to ensure all styles are visible. renderer.RenderingOptions.PrintHtmlBackgrounds = True ' Set HTML header content using HtmlHeaderFooter. renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {.HtmlFragment = "<h1>Header Content</h1>"} ' Set a custom paper size for the PDF in millimeters (width and height). renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150) ' Set the top margin to zero to start the content from the very top of the page. renderer.RenderingOptions.MarginTop = 0 ' Define a Markdown string that will be rendered as a PDF. ' Markdown text allows basic formatting like bold and italic styles. Dim md As String = "This is some **bold** and *italic* text." ' Render the Markdown string to a PDF document. ' The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF. Dim pdf As PdfDocument = renderer.RenderMarkdownStringAsPdf(md) ' Save the generated PDF to a file named "renderingOptions.pdf." pdf.SaveAs("renderingOptions.pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 設定自訂邊距 您也可以透過調整頁邊距來進一步自訂輸出 PDF 的外觀,從而精確控制佈局和間距。 :path=/static-assets/pdf/content-code-examples/how-to/custom-margins-set-margins.cs ChromePdfRenderer renderer = new ChromePdfRenderer(); renderer.RenderingOptions.MarginTop = 40; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; renderer.RenderingOptions.MarginBottom = 40; Dim renderer As New ChromePdfRenderer() renderer.RenderingOptions.MarginTop = 40 renderer.RenderingOptions.MarginLeft = 20 renderer.RenderingOptions.MarginRight = 20 renderer.RenderingOptions.MarginBottom = 40 $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 灰階 要產生灰階 PDF,我們將RenderingOptions中的GrayScale屬性設為 true。 :path=/static-assets/pdf/content-code-examples/how-to/color-grayscale-grayscale.cs using IronPdf; ChromePdfRenderer renderer = new ChromePdfRenderer(); // Set GrayScale to true renderer.RenderingOptions.GrayScale = true; PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironsoftware.com/"); pdf.CopyPage(0).SaveAs("test.pdf"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 優化您的 PDF 版面 新增目錄 使用 IronPDF 建立動態目錄,幫助讀者輕鬆瀏覽您的文件。 IronPDF 會自動處理目錄,並加入h1和h2等標題的超連結。 除此之外,您還可以使用 HTML 和 CSS 樣式自訂目錄的樣式。 :path=/static-assets/pdf/content-code-examples/how-to/table-of-contents.cs using IronPdf; // Instantiate Renderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Configure render options renderer.RenderingOptions = new ChromePdfRenderOptions { // Enable table of content feature TableOfContents = TableOfContentsTypes.WithPageNumbers, }; PdfDocument pdf = renderer.RenderHtmlFileAsPdf("tableOfContent.html"); pdf.SaveAs("tableOfContents.pdf"); Imports IronPdf ' Instantiate Renderer Private renderer As New ChromePdfRenderer() ' Configure render options renderer.RenderingOptions = New ChromePdfRenderOptions With {.TableOfContents = TableOfContentsTypes.WithPageNumbers} Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("tableOfContent.html") pdf.SaveAs("tableOfContents.pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 分頁符 在各部分之間添加分頁符,可以清楚地分隔內容,並提高文件的可讀性。 使用 IronPDF,只需使用 HTML div style= page-break-after即可實現該效果。 :path=/static-assets/pdf/content-code-examples/how-to/html-to-pdf-page-breaks-page-break.cs using IronPdf; const string html = @" <table style='border: 1px solid #000000'> <tr> <th>Company</th> <th>Product</th> </tr> <tr> <td>Iron Software</td> <td>IronPDF</td> </tr> <tr> <td>Iron Software</td> <td>IronOCR</td> </tr> </table> <div style='page-break-after: always;'> </div> <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>"; var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("Page_Break.pdf"); Imports IronPdf Private Const html As String = " <table style='border: 1px solid #000000'> <tr> <th>Company</th> <th>Product</th> </tr> <tr> <td>Iron Software</td> <td>IronPDF</td> </tr> <tr> <td>Iron Software</td> <td>IronOCR</td> </tr> </table> <div style='page-break-after: always;'> </div> <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>" Private renderer = New ChromePdfRenderer() Private pdf = renderer.RenderHtmlAsPdf(html) pdf.SaveAs("Page_Break.pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 適應頁面大小和縮放 需要協助確定內容尺寸以適應指定的紙張大小嗎? IronPDF 的UseChromeDefault功能可以幫助您解決這個問題,它模擬了 Google Chrome 列印預覽縮放內容以適應頁面的方式。 :path=/static-assets/pdf/content-code-examples/how-to/viewport-zoom-default-chrome.cs using IronPdf; ChromePdfRenderer renderer = new ChromePdfRenderer(); // Chrome default rendering renderer.RenderingOptions.PaperFit.UseChromeDefaultRendering(); // Render web URL to PDF PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page"); pdf.SaveAs("chromeDefault.pdf"); Imports IronPdf Private renderer As New ChromePdfRenderer() ' Chrome default rendering renderer.RenderingOptions.PaperFit.UseChromeDefaultRendering() ' Render web URL to PDF Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page") pdf.SaveAs("chromeDefault.pdf") $vbLabelText $csharpLabel 有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南。 結論 以上範例展示了使用 IronPDF 將各種格式轉換為 PDF 時可以解鎖的強大功能和突出特性。 如果您想要求新增功能或對 IronPDF 或許可有任何疑問,請聯絡我們的支援團隊。 我們非常樂意為您提供協助。 常見問題解答 如何在 .NET Core 中將 HTML 轉換為 PDF? 要在 .NET Core 中將 HTML 轉換為 PDF,請使用 IronPDF 庫。首先,通過 NuGet 安裝包。然後,創建一個 ChromePdfRenderer 實例,並利用 RenderHtmlAsPdf 方法將 HTML 字串轉換為 PDF 格式。 如何將在線 URL 轉換為 PDF 文件? 您可以使用 IronPDF 將在線 URL 轉換為 PDF 文件,方法是從 NuGet 安裝庫,創建 ChromePdfRenderer 實例,然後調用 RenderUrlAsPdf 方法,並提供要轉換的網頁 URL。 將 Razor 視圖轉換為 PDF 的步驟是什麼? 要將 Razor 視圖轉換為 PDF,請將視圖渲染為 HTML 字串,然後將其傳遞給 IronPDF 的 RenderHtmlAsPdf 方法。這允許從 MVC 視圖創建動態 PDF,並支持完全的數據綁定。 現有 PDF 文件可以修改嗎? 可以,使用 IronPDF 可以修改現有 PDF 文件。使用 PdfDocument.FromFile 加載 PDF,然後執行合併、添加頁眉/頁腳或更改安全設置等修改。 渲染 PDF 的選項有哪些? IronPDF 通過 ChromePdfRenderOptions 提供多種渲染選項。您可以自定義紙張大小、方向、邊距等,確保您的 PDF 符合特定的佈局和樣式要求。 如何在 Docker 環境中部署 PDF? 通過在 Dockerfile 中配置 Linux 依賴,將 PDF 部署在 Docker 環境中。使用 IronPDF 的 IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig 自動處理容器化應用中的依賴。 可以向 PDF 文件添加數字簽名嗎? 是的,可以使用 PdfSignature 類向 PDF 文件添加數字簽名。通過使用 Sign 方法和證書文件,您可以確保文檔的真實性和完整性。 IronPDF 為 PDF 提供了哪些安全功能? IronPDF 提供了包括密碼保護、加密和訪問控制在內的強大安全功能。通過 SecuritySettings 屬性設置這些功能,以管理查看、打印和編輯的權限。 如何從 PDF 文檔中提取文本和圖像? 可以使用 IronPDF 的 ExtractAllText 和 ExtractAllImages 方法從 PDF 文檔中提取文本和圖像。這些方法允許處理整個文檔或特定頁面的數據。 如何將浮水印應用於 PDF 文件? 可以使用 IronPDF 的 Watermark 屬性和 HtmlStamp 對象將浮水印應用於 PDF 文件。對於更高級的需求,HtmlStamper 類支持具有自定義樣式的 HTML 格式的印章。 IronPDF 是否與 .NET 10 相容,以及如何在 .NET 10 專案中使用? 是的-IronPDF 完全支援 .NET 10,這是其跨平台、現代 .NET 版本支援的一部分。要在 .NET 10 專案中使用它,請安裝 IronPDF NuGet 套件,在您的專案檔案中以 net10.0 為目標引用它,然後像在早期的 .NET 版本中一樣,使用類如 ChromePdfRenderer 和方法如 RenderHtmlAsPdf 。在渲染或處理 PDF 時,您將受益於改進的效能、記憶體使用以及 .NET 10 所固有的執行時增強功能。 Jacob Mellor 立即與工程團隊聊天 首席技术官 Jacob Mellor 是 Iron Software 的首席技術官,作為 C# PDF 技術的先鋒工程師。作為 Iron Software 核心代碼的原作者,他自開始以來塑造了公司產品架構,與 CEO Cameron Rimington 一起將其轉變為一家擁有超過 50 名員工的公司,為 NASA、特斯拉 和 全世界政府機構服務。Jacob 持有曼徹斯特大學土木工程一級榮譽学士工程學位(BEng) (1998-2001)。他於 1999 年在倫敦開設了他的第一家軟件公司,並於 2005 年製作了他的首個 .NET 組件,專注於解決 Microsoft 生態系統內的複雜問題。他的旗艦產品 IronPDF & Iron Suite .NET 庫在全球 NuGet 被安裝超過 3000 萬次,其基礎代碼繼續為世界各地的開發工具提供動力。擁有 25 年的商業經驗和 41 年的編碼專業知識,Jacob 仍專注於推動企業級 C#、Java 及 Python PDF 技術的創新,同時指導新一代技術領袖。 審核人 Jeffrey T. Fritz 首席程序经理 - .NET 社区团队 Jeff 也是 .NET 和 Visual Studio 团队的首席程序经理。他是 .NET Conf 虚拟会议系列的执行制作人,并主持“Fritz 和朋友”这一每周两次的开发者的直播节目,在节目上讨论技术并与观众一起编写代码。Jeff 撰写研讨会、主持演讲,并计划大型 Microsoft 开发者活动(包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP Summit)的内容。 準備好開始了嗎? Nuget 下載 16,493,056 | Version: 2025.11 剛發表 免費下載 NuGet 下載總數:16,493,056 檢視授權