Jak przekonwertować XML na PDF przy użyciu języka C#

Convert XML to PDF in C# and VB.NET

This article was translated from English: Does it need improvement?
Translated
View the article in English

Konwertuj XML do PDF w C# wykorzystując transformacje XSLT, aby najpierw zmienić XML na HTML, a następnie wyrenderować ten HTML jako PDF za pomocą IronPDF, oferując niezawodne rozwiązanie dla złożonych schematów XML.

Konwersja XML bezpośrednio do PDF w C# wymaga strategicznego podejścia. Najskuteczniejsza metoda wykorzystuje XSLT jako szablon transformacji. XML jest konwertowany do PDF poprzez HTML(5) za pomocą transformacji XSLT. Dokumenty XSLT definiują, jak XML z danego schematu konwertować do dokładnej reprezentacji HTML zgodnej z dobrze ugruntowanymi standardami. XSLT działa jako niestandardowy tłumacz z XML na HTML. Silnik renderowania Chrome IronPDF zapewnia precyzyjną konwersję z HTML do PDF.

Odwiedź artykuł 'Using the XslCompiledTransform Class' opublikowany przez Microsoft, aby dowiedzieć się więcej o transformacji XSLT.

Szybki start: Konwersja XML do PDF z IronPDF

Łatwo przekształcaj pliki XML na PDF za pomocą IronPDF. Za pomocą kilku linii kodu użyj XSLT, aby przekształcić dane XML w HTML i wyrenderować je jako dokument PDF. IronPDF zapewnia prostą integrację, zachowując formatowanie i zapewniając zgodność na różnych platformach. Proces ten wykorzystuje możliwości HTML do PDF IronPDF do tworzenia wysokiej jakości dokumentów.

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf
  2. Skopiuj i uruchom ten fragment kodu.

    new IronPdf.ChromePdfRenderer()
        .RenderHtmlAsPdf(
            XslCompiledTransform.Load("template.xslt")
                .Transform(XmlReader.Create("data.xml"), new StringWriter())
                .ToString()
        )
        .SaveAs("output.pdf");
  3. Wdrożenie do testowania w środowisku produkcyjnym

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

    arrow pointer

Jak wdrożyć konwersję XML do PDF w C#?

Aby wdrożyć konwersję XML do PDF w C#, połącz transformację XSLT z generowaniem PDF. Najpierw stwórz szablon XSLT definiujący, jak dane XML powinny być formatowane jako HTML. Następnie użyj klasy XslCompiledTransform, aby zastosować tę transformację do danych XML. Na koniec wyrenderuj powstały HTML jako PDF za pomocą ChromePdfRenderer IronPDF.

Proces obejmuje załadowanie szablonu XSLT, zastosowanie go do źródła danych XML i uchwycenie wyjścia HTML. Przekaż ten HTML bezpośrednio do renderer-a IronPDF, który obsługuje całą złożoność tworzenia poprawnie sformatowanego dokumentu PDF. W przypadku zaawansowanych scenariuszy zastosuj niestandardowe stylizowanie CSS, aby poprawić prezentację wizualną wyjścia PDF.

Dlaczego warto używać XSLT do konwersji XML do PDF?

XSLT (Extensible Stylesheet Language Transformations) zapewnia najbardziej elastyczne i łatwe do utrzymania podejście do konwersji XML do PDF. W przeciwieństwie do bezpośrednich bibliotek XML-to-PDF, XSLT pozwala na definiowanie precyzyjnych zasad transformacji, które radzą sobie z złożonymi schematami XML i strukturami zagnieżdżonymi. To podejście daje pełną kontrolę nad wyglądem końcowego dokumentu, z zachowaniem rozdzielenia pomiędzy danymi (XML) a prezentacją (XSLT).

Dzięki użyciu XSLT można stosować istniejące technologie internetowe, takie jak HTML i CSS, do stylizacji wyjścia PDF. Używaj znanych narzędzi i technik zamiast uczyć się zastrzeżonych języków formatowania PDF. Dodatkowo, szablony XSLT są wielokrotnie użyteczne i łatwo modyfikowalne bez zmiany kodu C#, co ułatwia konserwację.

Jakie są kluczowe komponenty potrzebne?

Kluczowe składniki do konwersji XML do PDF obejmują przestrzeń nazw System.Xml do przetwarzania XML, klasę XslCompiledTransform do transformacji XSLT i IronPDF do renderowania HTML do PDF. Zainstaluj IronPDF przez NuGet, aby uzyskać dostęp do możliwości generowania PDF.

Szablon XSLT działa jako plan transformacji, definiując, jak elementy XML przekładają się na struktury HTML. Szablon powinien zawierać odpowiednią strukturę HTML z informacjami o stylizacji, czy to inline, czy za pomocą CSS. W przypadku złożonych układów, zarządzaj czcionkami i odpowiednio obsługuj obrazy w ramach transformacji.

Kiedy powinienem wybrać to podejście zamiast alternatyw?

Podejście transformacji XSLT doskonale sprawdza się przy przetwarzaniu strukturalnych danych XML, które wymagają elastycznych wyborów formatowania. Nadaje się do generowania raportów, faktur, katalogów lub dokumentów, w których dane XML muszą być prezentowane w określonych układach. Metoda ta sprawdza się dobrze, gdy wymagane jest wsparcie dla wielu formatów wyjściowych z tego samego źródła XML, poprzez tworzenie różnych szablonów XSLT dla różnych wymagań prezentacji.

Jednak w przypadku prostych struktur XML lub okazjonalnych konwersji dokumentów warto rozważyć prostsze alternatywy. W przypadku podstawowych konwersji, parsuj XML bezpośrednio i buduj HTML programowo. Ale dla systemów produkcyjnych obsługujących różnorodne schematy XML lub wymagających łatwego do utrzymania logiki transformacji, podejście XSLT z IronPDF zapewnia najbardziej niezawodne rozwiązanie.

Powstały ciąg HTML lub plik renderowany jest jako PDF przy użyciu .NET PDF Generator. Pobierz przykładowy projekt prezentujący możliwości IronPDF w konwersji XML do PDF, z tego przykładu konwersji XML do PDF.

Przykład

// 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'>
...
// 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'>
...
' 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'>" & _
"..."
$vbLabelText   $csharpLabel

Zaawansowana konwersja XML do PDF z niestandardowymi opcjami renderowania

Aplikacje produkcyjne często wymagają większej kontroli nad wyjściem PDF. IronPDF zapewnia szerokie opcje renderowania do dostosowania końcowego dokumentu. Ten zaawansowany przykład pokazuje stosowanie profesjonalnego formatowania, nagłówków, stopek i ustawień stron:

// Configure advanced rendering options
var renderer = new ChromePdfRenderer();

...
// Configure advanced rendering options
var renderer = new ChromePdfRenderer();

...
' Configure advanced rendering options
Dim renderer As New ChromePdfRenderer()

...
$vbLabelText   $csharpLabel

Praca z Złożonymi Schematami XML

Przy pracy z złożonymi strukturami XML, szablony XSLT muszą obsługiwać zagnieżdżone elementy, atrybuty i formatowanie warunkowe. Zastosuj znaki wodne i dodaj numery stron, aby zwiększyć profesjonalizm dokumentu. Rozważ korzystanie z parametrów XSLT, aby szablony były bardziej elastyczne:

// Create XSLT argument list for dynamic parameters
XsltArgumentList args = new XsltArgumentList();
...
// Create XSLT argument list for dynamic parameters
XsltArgumentList args = new XsltArgumentList();
...
' Create XSLT argument list for dynamic parameters
Dim args As New XsltArgumentList()
...
$vbLabelText   $csharpLabel

Infografika

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

Często Zadawane Pytania

How do I convert XML to PDF in C#?

To convert XML to PDF in C#, use XSLT transformations to first convert XML to HTML, then render the HTML as PDF with IronPDF. Load your XSLT template using XslCompiledTransform, apply it to your XML data to generate HTML, and then use IronPDF's ChromePdfRenderer to create the final PDF document.

Why should I use XSLT for XML to PDF conversion?

XSLT provides the most flexible approach for XML to PDF conversion as it acts as a custom translator from XML to HTML. Combined with IronPDF's Chrome rendering engine, this method ensures pixel-perfect conversion while maintaining full control over how your XML data is formatted in the final PDF document.

What are the steps to implement XML to PDF conversion?

The implementation involves 5 steps: 1) Install IronPDF C# library, 2) Load your XSLT template using the Load method, 3) Transform XML to HTML using the Transform method, 4) Render HTML to PDF with IronPDF's custom rendering options, and 5) Export the PDF document to your desired location.

Can I apply custom styling to my XML to PDF conversion?

Yes, you can apply custom CSS styling to enhance the visual presentation of your PDF output. IronPDF supports responsive CSS styling, allowing you to create professionally formatted PDFs from your XML data with complete control over fonts, layouts, and visual elements.

Is it possible to convert XML to PDF in a single line of code?

Yes, IronPDF enables one-line XML to PDF conversion by chaining methods: new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf(XslCompiledTransform.Load("template.xslt").Transform(XmlReader.Create("data.xml"), new StringWriter()).ToString()).SaveAs("output.pdf");

What rendering engine is used for XML to PDF conversion?

IronPDF uses a Chrome rendering engine for HTML to PDF conversion, ensuring pixel-perfect rendering and compatibility with modern web standards. This engine handles all complexities of creating properly formatted PDF documents from your transformed XML data.

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ę...

Czytaj więcej
Sprawdzone przez
Jeff Fritz
Jeffrey T. Fritz
Główny Menedżer Programu - Zespół .NET Community
Jeff jest również Głównym Menedżerem Programu dla zespołów .NET i Visual Studio. Jest producentem wykonawczym wirtualnej serii konferencji .NET Conf i prowadzi 'Fritz and Friends', transmisję na żywo dla deweloperów emitowaną dwa razy w tygodniu, gdzie rozmawia o technologii i pisze kod razem z widzami. Jeff pisze warsztaty, prezentacje i planuje treści dla największych wydarzeń Microsoft dla deweloperów, w tym Microsoft Build, Microsoft Ignite, .NET Conf i Microsoft MVP Summit.
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 18,135,201 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.