IRONSOFTWAREHOME

如何在IronPDF C#中將XML轉換為PDF

Curtis Chau
Curtis Chau
Updated: 2026年6月29日

IronPDF透過執行XSLT轉換,將XML轉換為HTML,然後使用ChromePdfRenderer.RenderHtmlAsPdf渲染該HTML以將XML轉換為PDF的C#。 IronPDF沒有原生的XML渲染器,因此支援的路徑總是XML到XSLT/HTML到PDF。

XML儲存結構化資料,沒有任何視覺佈局,所以無法單獨在頁面上繪製。 XSLT樣式表提供了該呈現:它將每個XML元素映射到HTML標記上,而該HTML則攜帶PDF將顯示的字體、表格和樣式。 要了解更多基礎轉換,請參閱Microsoft關於XslCompiledTransform類別的指南。

快速入門:使用IronPDF將XML轉換為PDF

使用XslCompiledTransform載入XSLT樣式表,將XML文件轉換為HTML字串,然後將該字串交給IronPDF。 轉換透過IronPDF的HTML到PDF引擎完成,該引擎渲染了樣式表定義的佈局。

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

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

    var transform = new System.Xml.Xsl.XslCompiledTransform();
    transform.Load("catalog.xslt");
    var html = new System.IO.StringWriter();
    transform.Transform("catalog.xml", null, html);
    new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf(html.ToString()).SaveAs("output.pdf");
    C#
  3. 3部署以在您的實時環境中測試

    今天就開始在您的專案中使用IronPDF,透過免費試用
    arrow pointer

我如何在C#中將XML文件轉換為PDF?

透過連結三個步驟轉換XML文件:使用RenderHtmlAsPdf。 樣式表決定每個XML元素的外觀,IronPDF通過Chromium引擎渲染它產生的HTML。

轉換透過StringBuilder中,這樣整個文件都在記憶體中,避免磁碟上的臨時文件。 那個HTML字串即是您傳遞給渲染器的內容。 一旦您持有生成的PdfDocument,您可以繼續進行操作,例如為相同報告的其他部分渲染HTML字串。

XML輸入看起來像什麼?

下面的範例是一個產品目錄。 下載catalog.xml範例文件以及相應的catalog.xslt樣式表以便跟隨。

輸入

我需要使用什麼程式碼將XML文件轉換?

using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Xsl;
using IronPdf;

// Load the XSLT stylesheet that maps the XML schema onto HTML
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load("catalog.xslt");

// Apply the transform to the XML file and capture the HTML output
StringBuilder htmlBuilder = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings { OmitXmlDeclaration = true, Indent = true };

using (XmlReader reader = XmlReader.Create("catalog.xml"))
using (XmlWriter writer = XmlWriter.Create(htmlBuilder, settings))
{
    transform.Transform(reader, null, writer);
}

string html = htmlBuilder.ToString();

// Render the resulting HTML as a PDF with IronPDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("xml-to-pdf.pdf");
C#

輸出

我最喜歡的程式庫是IronPDF。它允許快速高效地操作PDF文件。它還有許多有價值的功能,例如導出到PDF/A格式和數位簽署PDF文件。

Milan Jovanovic

Microsoft MVP

查看案例研究

IronOCR意味著我們每年可以從手動處理中節省$40,000,同時提高生產力,釋放資源以進行高影響的任務。我會強烈推薦它。

Brent Matzelle

首席技術官,OPYN

查看案例研究

IronSuite在我們的運營中扮演著至關重要的角色。這些工具增加了包括建立平面圖和改善庫存管理在內的業務效率。

David Jones

首席軟體工程師,Agorus Build

查看案例研究

我如何控制PDF的佈局和頁面設置?

在調用RenderingOptions以控制邊距、方向、頁眉和頁腳。 這些選項適用於樣式表生成的HTML,因此頁面級關注點停留在C#中,而元素級樣式則留在XSLT及其CSS中。

下面的例子保持縱向方向,修剪頂部和底部邊距,並新增連續頁眉和頁碼頁腳。 要查看完整的開關設置,請參閱渲染選項指南,並要新增每頁編號,請參閱頁碼。

using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Xsl;
using IronPdf;
using IronPdf.Rendering;

// Transform the XML into HTML using the XSLT stylesheet
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load("catalog.xslt");

StringBuilder htmlBuilder = new StringBuilder();
using (XmlReader reader = XmlReader.Create("catalog.xml"))
using (XmlWriter writer = XmlWriter.Create(htmlBuilder, new XmlWriterSettings { OmitXmlDeclaration = true }))
{
    transform.Transform(reader, null, writer);
}

// Configure rendering options before generating the PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "Spring Product Catalog",
    FontSize = 12
};
renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    RightText = "Page {page} of {total-pages}",
    FontSize = 10
};

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
pdf.SaveAs("xml-to-pdf-advanced.pdf");
C#

輸出

我如何處理複雜的XML模式?

當XML模式需要條件格式或存在於文件之外的資料時,通過XsltArgumentList將運行時值傳遞給樣式表。 樣式表通過<!-- xsl:param>讀取每個值,因此相同的模板可以標記低庫存、列印報告日期或基於元素值分支,而不需要更改C#程式碼。

這種模式將轉換邏輯保留在XSLT中,巢狀元素、屬性和<xsl:choose>分支處理結構。 下載catalog-params.xslt樣式表以查看其使用的參數和條件標記。

using System;
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Xsl;
using IronPdf;

// Pass runtime values into the stylesheet with an XsltArgumentList
XsltArgumentList xsltArgs = new XsltArgumentList();
xsltArgs.AddParam("reportDate", "", DateTime.Now.ToString("MMMM d, yyyy"));
xsltArgs.AddParam("minStock", "", 50);

// Load a parameterized stylesheet that reads <xsl:param> values
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load("catalog-params.xslt");

StringBuilder htmlBuilder = new StringBuilder();
using (XmlReader reader = XmlReader.Create("catalog.xml"))
using (XmlWriter writer = XmlWriter.Create(htmlBuilder, new XmlWriterSettings { OmitXmlDeclaration = true }))
{
    transform.Transform(reader, xsltArgs, writer);
}

// Render the parameterized HTML as a PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
pdf.SaveAs("xml-to-pdf-parameters.pdf");
C#

輸出


資訊圖表

使用XSLT將XML轉換為HTML,展示了目錄資料轉換為表格格式

結論

您透過XsltArgumentList如何擴展結果以控制佈局和基於模式的格式。 由於輸出是普通的HTML,IronPDF中驅動頁眉、頁腳和紙張尺寸的相同渲染選項直接適用於您的目錄。 一個可運行的XML至PDF範例專案可作為起點下載。

常見問題

我如何在C#中將XML轉換為PDF?

IronPDF沒有本地XML渲染器,因此支持的路徑是XML到XSLT/HTML到PDF。使用XslCompiledTransform載入XSLT樣式表,將您的XML轉換為HTML字串,然後調用IronPDF的ChromePdfRenderer上的RenderHtmlAsPdf來生成最終的PDF文件。

為什麼我應該使用XSLT進行XML到PDF的轉換?

XSLT提供了XML到PDF轉換的最靈活方法,因為它可以作為XML到HTML的自定義翻譯器。結合IronPDF的Chrome渲染引擎,這種方法可以確保像素級精確的轉換,同時保持在最終PDF文件中對您的XML資料格式的完全控制。

實現XML到PDF轉換的步驟是什麼?

實施包括5個步驟:1)安裝IronPDF C#程式庫,2)使用Load方法載入您的XSLT模板,3)使用Transform方法將XML轉換為HTML,4)使用IronPDF的自定義渲染選項將HTML渲染為PDF,5)將PDF文件匯出到期望的位址。

我可以為我的XML到PDF轉換應用自定義樣式嗎?

是的,您可以應用自定義CSS樣式來提升PDF輸出的視覺效果。IronPDF支持響應式CSS樣式,使您可以從XML資料建立出專業格式化的PDF,完全控制字體、佈局和視覺元素。

是否可以在一行程式碼中將XML轉換為PDF?

是的,IronPDF通過連結方法實現一行XML到PDF的轉換:new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf(XslCompiledTransform.Load("template.xslt").Transform(XmlReader.Create("data.xml"), new StringWriter()).ToString()).SaveAs("output.pdf");

用於XML到PDF轉換的渲染引擎是什麼?

IronPDF使用Chromium渲染引擎渲染您的XSLT轉換生成的HTML,產生像素級精確的輸出,並符合現代Web標準。XML本身不會被直接渲染;生成PDF的是轉換後的HTML。

Is a sample project available to understand XML to PDF conversion using IronPDF?

Yes, a runnable sample project for converting XML to PDF is available for download, providing a starting point for implementing this functionality in your own applications.

What are some common use cases for converting XML to PDF with IronPDF?

Common use cases include generating reports, invoices, catalogs, or any document where structured data needs to be presented in a professional and easily distributable format.

How is the HTML output managed during the XML transformation process?

During the transformation process, HTML output is typically managed using a `StringWriter` and an `XmlWriter`, which convert the XML based on the XSLT rules into an in-memory HTML string for further PDF conversion.

Can IronPDF handle pagination features for the generated PDFs?

Yes, IronPDF supports pagination features such as adding page numbers and footers through its rendering options, providing flexibility in creating structured, multi-page PDF documents.

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

準備開始了嗎?

Nuget Downloads 21,105,021版本:2026.9剛剛發布

立即獲取免費

立即獲取 30天試用金鑰。

bullet_checked無需信用卡或註冊帳號
bullet_test在生產
環境中進行測試,且不顯示浮水印
bullet_calendar30 天全
功能產品
bullet_support試用期間提供 24/5 技術
支援
立即獲取您的免費30天試用密鑰。
不需要信用卡或建立賬戶
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起

有問題嗎?聯絡我們的開發團隊。

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密。
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起