IRONSOFTWAREHOME

Jak przekonwertować XML na PDF w IronPDF C#

Curtis Chau
Curtis Chau
Updated: 29 czerwca 2026

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.

Szybki start: Konwersja XML do PDF z IronPDF

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.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 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#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną
    arrow pointer

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");
C#

Wynik

Moją ulubioną biblioteką tego typu jest IronPDF. Umożliwia ona szybkie i efektywne manipulowanie plikami PDF. Posiada także wiele cennych funkcji, takich jak eksport do formatu PDF/A i cyfrowe podpisywanie dokumentów PDF.

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku

IronOCR pozwala nam oszczędzić 40 000 USD rocznie na ręcznym przetwarzaniu, jednocześnie zwiększając produktywność i uwalniając zasoby do zadań o wysokim wpływie. Gorąco polecam.

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku

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.

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

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");
C#

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");
C#

Wynik


Infografika

Transformacja XML do HTML za pomocą XSLT pokazująca dane katalogowe przekształcone w format tabelaryczny

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
Autor tekstów technicznych

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.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 20,667,543Wersja:2026.7właśnie wydany

Odbierz swój BEZPŁATNY

30-dniowy klucz próbny natychmiast.

bullet_checkedNie wymaga karty kredytowej ani tworzenia konta
test_punktorówTestuj w produkcji
bez znaków wodnych
kalendarz_punktorów30 dni w pełni
funkcjonalny produkt
wsparcie_punktorów24/5 wsparcie techniczne
w trakcie okresu próbnego
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz opcję Przeglądaj i wyszukaj „IronPdf”
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.7

Pobierz teraz

lub pobierz instalator Windows tutaj.

  1. Pobierz i rozpakuj IronPDF do lokalizacji takiej jak ~/Libs w katalogu Solution
  2. W Eksploratorze rozwiązań programu Visual Studio kliknij prawym przyciskiem myszy opcję Odwołania. Wybierz opcję Przeglądaj, „IronPdf.dll”

Licencje od 749 USD

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta