Jak przekonwertować XML na PDF w IronPDF C#
IronPDF konwertuje XML na PDF w C# poprzez uruchomienie transformacji XSLT, która zamienia XML na HTML, a następnie renderuje ten HTML z ChromePdfRenderer.RenderHtmlAsPdf. IronPDF nie ma natywnego renderera XML, więc obsługiwana ścieżka to zawsze XML do XSLT/HTML do PDF.
XML zawiera uporządkowane dane bez żadnego wizualnego układu, więc nie można go samodzielnie narysować na stronie. Arkusz stylów XSLT dostarcza tę prezentację: mapuje każdy element XML na znacznik HTML, a ten HTML niesie czcionki, tabele i stylizację, którą pokaże PDF. Aby dowiedzieć się więcej na temat znajdującej się pod spodem transformacji, zobacz przewodnik Microsoftu na temat klasy XslCompiledTransform.
Załaduj arkusz stylów XSLT za pomocą XslCompiledTransform, przekształć swój plik XML w łańcuch HTML, a następnie przekaż ten łańcuch do IronPDF. Konwersja przebiega przez silnik HTML do PDF IronPDF, który renderuje układ zdefiniowany przez arkusz stylów.
-
1Install IronPDF with NuGet Package Manager
-
2Skopiuj i uruchom ten fragment kodu.
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# -
3Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną
Minimalny proces (5 kroków)
- Download the C# library for converting XML to PDF
- Użyj metody
Loaddo importu arkusza stylów XSLT - Przekształć XML w ciąg HTML za pomocą metody
Transform - Renderuj HTML do PDF za pomocą
RenderHtmlAsPdf - Zapisz dokument PDF w wybranej lokalizacji
Jak mogę przekonwertować plik XML na PDF w C#?
Przekształć plik XML, łącząc trzy kroki: załaduj arkusz stylów XSLT za pomocą XslCompiledTransform, przekształć XML w HTML, a następnie wywołaj RenderHtmlAsPdf na wyniku. Arkusz stylów decyduje, jak każdy element XML się pojawia, a IronPDF renderuje HTML, który produkuje przez silnik Chromium.
Transformacja zapisuje swój HTML do StringBuilder przez XmlWriter, co pozwala na utrzymanie całego dokumentu w pamięci i unikanie tymczasowego pliku na dysku. Ten ciąg HTML to to, co przekazujesz do renderera. Kiedy już posiadasz wynikowy PdfDocument, możesz dalej pracować nad nim, jak renderowanie łańcucha HTML dla innych części tego samego raportu.
Jak wygląda wejście XML?
Przykład poniżej to katalog produktów. Pobierz plół catalog.xml i dopasowany arkusz stylu catalog.xslt, aby śledzić.
Dane wejściowe
Jakiego kodu potrzebuję, aby przekonwertować plik 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");
Wynik
IronSuite odgrywa kluczową rolę w naszej działalności. Są to narzędzia zwiększające wydajność w całej firmie, w tym tworzenie planów pięter i poprawa zarządzania zapasami.
Jak mogę kontrolować układ PDF i ustawienia strony?
Ustaw RenderingOptions renderera przed wywołaniem RenderHtmlAsPdf, aby kontrolować marginesy, orientację, nagłówki i stopki. Te opcje dotyczą HTML wygenerowanego przez arkusz stylów, więc obawy dotyczące poziomu strony pozostają w C#, podczas gdy stylizacja elementów pozostaje w XSLT i jego CSS.
Przykład poniżej zachowuje orientację pionową, przycina górne i dolne marginesy oraz dodaje biegający nagłówek i numer stopki strony. Aby uzyskać pełny zestaw przełączników, zobacz przewodnik na temat opcji renderowania, a aby dodać numerację na stronie, zobacz numery stron.
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");
Wynik
Jak obsługiwać złożone schematy XML?
Przekaź wartości czasu wykonania do arkusza stylów poprzez XsltArgumentList, gdy schemat XML wymaga formatowania warunkowego lub danych spoza dokumentu. Arkusz stylów odczytuje każdą wartość przez <xsl:param>, więc ten sam szablon może oznaczyć niski stan magazynowy, ostemplować datę raportu lub rozgałęziać się 14.12.2025 zależne od wartości elementów, bez jakiejkolwiek zmiany w kodzie C#.
Ten wzorzec utrzymuje logikę transformacji w XSLT, gdzie zagnieżdżone elementy, atrybuty i oddziały <xsl:choose> kontrolują strukturę. Pobierz arkusz stylu catalog-params.xslt, aby zobaczyć parametr i znacznik warunkowy, który używa.
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");
Wynik
Infografika

Wnioski
Konwertowałeś XML na PDF, przekształcając go w HTML za pomocą XslCompiledTransform, a następnie renderując ten HTML przez IronPDF, i widziałeś, jak RenderingOptions i XsltArgumentList rozszerzają wynik dla kontroli układu i formatowania napędzanego schematem. Ponieważ wyjście jest zwykłym HTML, te same opcje renderowania, które sterują nagłówkami, stopkami i rozmiarami papieru w innych miejscach w IronPDF, odnoszą się bezpośrednio do twojego katalogu. Dostępny jest działający przykładowy projekt XML do PDF, który można pobrać jako punkt początkowy.
Często Zadawane Pytania
Jak skonwertować XML na PDF w C#?
IronPDF nie ma natywnego renderer XML, więc wspieraną ścieżką jest XML do XSLT/HTML do PDF. Załaduj arkusz stylów XSLT z XslCompiledTransform, przekształć twój XML w ciąg HTML, a następnie wywołaj RenderHtmlAsPdf na ChromePdfRenderer IronPDF, aby uzyskać ostateczny dokument PDF.
Dlaczego warto używać XSLT do konwersji XML na PDF?
XSLT zapewnia najbardziej elastyczne podejście do konwersji XML na PDF, działając jako niestandardowy tłumacz z XML na HTML. W połączeniu z silnikiem renderowania Chrome od IronPDF, ta metoda zapewnia konwersję pixel-perfect, zachowując pełną kontrolę nad formatowaniem danych XML w ostatecznym dokumencie PDF.
Jakie są kroki wdrożenia konwersji XML na PDF?
Wdrożenie obejmuje 5 kroków: 1) Zainstaluj bibliotekę IronPDF C#, 2) Załaduj szablon XSLT używając metody Load, 3) Przekształć XML na HTML używając metody Transform, 4) Renderuj HTML na PDF za pomocą niestandardowych opcji renderowania IronPDF, 5) Wyeksportuj dokument PDF do wybranej lokalizacji.
Czy można zastosować niestandardową stylizację w konwersji XML na PDF?
Tak, można zastosować niestandardową stylizację CSS, aby poprawić wizualną prezentację wyjściową PDF. IronPDF wspiera responsywną stylizację CSS, pozwalając na stworzenie profesjonalnie sformatowanych PDF-ów z danych XML, z pełną kontrolą nad czcionkami, układami i elementami wizualnymi.
Czy możliwe jest przekształcenie XML na PDF za pomocą jednej linii kodu?
Tak, IronPDF umożliwia konwersję XML na PDF z jedną linią kodu poprzez łańcuchowanie metod: new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf(XslCompiledTransform.Load("template.xslt").Transform(XmlReader.Create("data.xml"), new StringWriter()).ToString()).SaveAs("output.pdf");
Jaki silnik renderujący jest używany do konwersji XML na PDF?
IronPDF renderuje HTML stworzony przez twój przekształcenie XSLT za pomocą silnika renderowania Chromium, dając pikselowo doskonały wynik i zgodność z nowoczesnymi standardami webowymi. Sam XML nigdy nie jest renderowany bezpośrednio, to przekształcony HTML staje się PDF-em.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.