IronPDF 操作指南 XML 到 PDF Convert XML to PDF in C# and VB.NET Curtis Chau 已更新:八月 6, 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 This article was translated from English: Does it need improvement? Translated View the article in English 在 C# 中直接将 XML 转换为 PDF 可能是一个复杂的挑战。 我们发现,在 C# 中将 XML 转换为 PDF 时,最好从 XSLT 作为转换模板开始。 然后,可以使用 XSLT 转换通过 HTML(5) 将 XML 渲染为 PDF。 XSLT 文档定义了如何从给定的架构中将 XML 转换为准确的 HTML 表示,并且是一个建立良好的标准。 简而言之,XSLT 充当了从 XML 到 HTML 的自定义翻译器。 访问 Microsoft 的 '使用 XslCompiledTransform 类' 文章以了解有关 XSLT 转换的更多信息。 快速入门:使用 IronPDF 将 XML 转换为 PDF 使用 IronPDF 轻松地将您的 XML 文件转换为 PDF。 只需几行代码,使用 XSLT 将 XML 数据转换为 HTML,然后将其渲染为 PDF 文档。 对于寻求快速无缝集成的开发人员,IronPDF 提供了一种简单的方法来维护格式并确保跨平台兼容性。 Get started making PDFs with NuGet now: Install IronPDF with NuGet Package Manager PM > Install-Package IronPdf Copy and run this code snippet. new IronPdf.ChromePdfRenderer() .RenderHtmlAsPdf( XslCompiledTransform.Load("template.xslt") .Transform(XmlReader.Create("data.xml"), new StringWriter()) .ToString() ) .SaveAs("output.pdf"); Deploy to test on your live environment Start using IronPDF in your project today with a free trial Free 30 day Trial class="hsg-featured-snippet"> 最小工作流程(5 步) 安装 XML 到 PDF 转换器 C# 库 使用 Load 方法导入 XSLT 转换器模板 在 C# 中使用 Transform 方法将 XML 转换为 HTML 使用自定义渲染选项将 HTML 渲染为 PDF 将 PDF 文档导出到所需位置 示例 生成的 HTML 字符串或文件可以通过.NET PDF 生成器渲染为 PDF。 您可以从这个 XML 到 PDF 转换示例下载一个展示 IronPDF 功能的示例项目。 // 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 class="tutorial-segment-title">信息图表 class="center-image-wrapper"> 常见问题解答 如何在C#中将XML转换为PDF? 您可以通过使用XSLT作为转换模板首先将XML数据转换为HTML,然后使用.NET PDF生成器如IronPDF将HTML渲染为PDF文档。 在XML到PDF转换中使用XSLT的目的是什么? XSLT用于将XML数据转换为精确的HTML表示。它充当自定义翻译器,确保在转换为PDF期间数据结构和样式得以保留。 使用XSLT将XML转换为HTML的步骤是什么? 要使用XSLT将XML转换为HTML,您需要:1)使用Load方法加载XSLT模板,2)使用Transform方法将XML数据转换为HTML,以及3)使用像IronPDF这样的库将此HTML渲染为PDF。 如何使用IronPDF执行XML到PDF的转换? 首先,使用XSLT将您的XML转换为HTML。然后,使用IronPDF的RenderHtmlAsPdf方法从HTML创建PDF。最后,使用像SaveAs这样的方法保存PDF。 在将XML转换为PDF时,我可以自定义PDF输出吗? 是的,您可以通过在使用IronPDF进行HTML到PDF渲染过程时应用自定义选项(如页眉、页脚和样式)来自定义PDF输出。 是否有XML到PDF转换的示例项目可用? 是的,有一个示例项目演示XML到PDF转换可供下载。它包括示例XML数据、XSLT模板和使用IronPDF的说明。 哪些平台支持使用IronPDF进行XML到PDF转换? IronPDF可用于多个平台,包括Microsoft Windows,Linux(Debian、CentOS、Ubuntu)、MacOS、Docker(Windows、Linux、Azure)、Azure(VPS、Webapps、Website、Functions)和AWS。 如何安装用于XML到PDF转换的.NET PDF生成器库? 您可以通过访问NuGet上的IronPdf包页面并按照那里的安装说明进行安装来安装.NET PDF生成器库。 IronPDF 在将 XML 转换为 PDF 时是否完全兼容 .NET 10? 是的,IronPDF 与 .NET 10 完全兼容。它的跨平台功能支持 .NET 10,因此您可以在面向 .NET 10 的项目中使用 IronPDF 的 HTML 渲染、HTML 到 PDF 转换和完整功能集,而无需额外的配置或兼容性问题。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 审核者 Jeffrey T. Fritz 首席项目经理 - .NET 社区团队 Jeff 也是 .NET 和 Visual Studio 团队的首席项目经理。他是 .NET Conf 虚拟会议系列的执行制片人,并主持“Fritz and Friends”直播节目,每周两次与观众一起谈论技术并编写代码。Jeff 撰写研讨会、演示文稿并计划包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP 峰会在内的最大型微软开发者活动的内容。 准备开始了吗? Nuget 下载 16,154,058 | 版本: 2025.11 刚刚发布 免费 NuGet 下载 总下载量:16,154,058 查看许可证