Wie man XML in PDF mit C# konvertiert

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

Das direkte Konvertieren von XML in PDF in C# kann eine komplexe Herausforderung sein. Wir haben festgestellt, dass es am besten ist, mit XSLT als Transformationstemplate zu beginnen, wenn man XML in PDF in C# konvertiert. XML kann dann mithilfe von XSLT-Transformationen über HTML(5) in ein PDF gerendert werden. XSLT-Dokumente definieren, wie XML aus einem gegebenen Schema in eine genaue HTML-Darstellung konvertiert werden kann und sind ein gut etabliertes Standard. Kurz gesagt, XSLT fungiert als benutzerdefinierter Übersetzer von XML zu HTML.

Navigieren Sie zum Artikel 'Using the XslCompiledTransform Class' von Microsoft, um mehr über XSLT-Transformationen zu erfahren.

als-überschrift:2(Schnellstart: Konvertieren Sie XML in PDF mit IronPDF)

Verwandeln Sie Ihre XML-Dateien mühelos in PDFs mit IronPDF. Mit wenigen Codezeilen verwenden Sie XSLT, um XML-Daten in HTML zu konvertieren und es dann als PDF-Dokument zu rendern. Ideal für Entwickler, die eine schnelle und nahtlose Integration suchen, bietet IronPDF einen unkomplizierten Ansatz, um Formatierungen beizubehalten und plattformübergreifende Kompatibilität sicherzustellen.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 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");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Minimaler Arbeitsablauf (5 Schritte)

  1. Installieren Sie die XML zu PDF Konverter C# Bibliothek
  2. Verwenden Sie die Load-Methode, um das XSLT-Transformator-Template zu importieren
  3. Konvertieren Sie XML zu HTML in C# mit der Transform-Methode
  4. Rendern Sie das HTML mit benutzerdefinierten Rendering-Optionen zu PDF
  5. Exportieren Sie das PDF-Dokument an den gewünschten Speicherort

Beispiel

Der resultierende HTML-String oder die Datei kann dann mithilfe des .NET PDF Generators als PDF gerendert werden. Sie können ein Beispielprojekt herunterladen, das die Fähigkeiten von IronPDF zur Konvertierung von XML in PDF zeigt, von diesem XML to PDF Conversion Example.

// 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">Infografik

class="center-image-wrapper"> XML to PDF

Häufig gestellte Fragen

Wie kann ich XML zu PDF in C# konvertieren?

Sie können XML zu PDF in C# konvertieren, indem Sie XSLT als Transformationstemplate verwenden, um die XML-Daten zunächst in HTML zu konvertieren. Verwenden Sie dann einen .NET PDF-Generator wie IronPDF, um das HTML in ein PDF-Dokument zu rendern.

Was ist der Zweck der Verwendung von XSLT bei der XML zu PDF Konvertierung?

XSLT wird verwendet, um XML-Daten in eine genaue HTML-Darstellung zu transformieren. Es fungiert als ein benutzerdefinierter Übersetzer, der sicherstellt, dass die Datenstruktur und das Styling während der Konvertierung zu PDF erhalten bleiben.

Welche Schritte sind erforderlich, um XML zu HTML mit XSLT zu transformieren?

Um XML zu HTML mit XSLT zu transformieren, müssen Sie: 1) Das XSLT-Template mit der Load-Methode laden, 2) Die Transform-Methode verwenden, um die XML-Daten in HTML zu konvertieren und 3) Dieses HTML zu PDF unter Verwendung einer Bibliothek wie IronPDF rendern.

Wie führe ich eine XML zu PDF Konvertierung mit IronPDF durch?

Zuerst konvertieren Sie Ihr XML zu HTML mit XSLT. Verwenden Sie dann die RenderHtmlAsPdf-Methode von IronPDF, um aus dem HTML ein PDF zu erstellen. Speichern Sie schließlich das PDF mit Methoden wie SaveAs.

Kann ich das PDF-Ergebnis anpassen, wenn ich XML zu PDF konvertiere?

Ja, Sie können das PDF-Ergebnis anpassen, indem Sie während des HTML zu PDF-Rendervorgangs mit IronPDF benutzerdefinierte Optionen wie Kopf- und Fußzeilen und Styling anwenden.

Gibt es ein Beispielprojekt für die XML zu PDF Konvertierung?

Ja, ein Beispielprojekt zur Demonstration der XML zu PDF Konvertierung steht zum Download bereit. Es enthält Beispiel-XML-Daten, XSLT-Templates und Anleitungen zur Verwendung von IronPDF.

Welche Plattformen unterstützen die Verwendung von IronPDF für die XML zu PDF Konvertierung?

IronPDF kann auf mehreren Plattformen verwendet werden, darunter Microsoft Windows, Linux (Debian, CentOS, Ubuntu), MacOS, Docker (Windows, Linux, Azure), Azure (VPS, Webapps, Websites, Funktionen) und AWS.

Wie kann ich eine .NET PDF-Generator-Bibliothek zur XML zu PDF Konvertierung installieren?

Sie können eine .NET PDF-Generator-Bibliothek installieren, indem Sie die IronPdf-Paketseite auf NuGet besuchen und den dort angegebenen Installationsanweisungen folgen.

Ist IronPDF bei der Konvertierung von XML in PDF vollständig mit .NET 10 kompatibel?

Ja, IronPDF ist vollständig mit .NET 10 kompatibel. Es unterstützt .NET 10 in all seinen plattformübergreifenden Funktionen, sodass Sie die HTML-Darstellung, die HTML-zu-PDF-Konvertierung und den gesamten Funktionsumfang von IronPDF in Projekten, die auf .NET 10 abzielen, ohne zusätzliche Konfiguration oder Kompatibilitätsprobleme nutzen können.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Rezensiert von
Jeff Fritz
Jeffrey T. Fritz
Principal Program Manager - .NET Community Team
Jeff ist außerdem Principal Program Manager für das .NET- und Visual Studio-Team. Er ist der ausführende Produzent der .NET Conf Virtual Conference Series und moderiert ‚Fritz and Friends‘, einen Livestream für Entwickler, der zweimal wöchentlich ausgestrahlt wird. Dort spricht er über Technik und schreibt gemeinsam mit den Zuschauern Code. Jeff schreibt Workshops, Präsentationen und plant Inhalte für die größten Microsoft-Entwicklerveranstaltungen, einschließlich Microsoft Build, Microsoft Ignite, .NET Conf und dem Microsoft MVP Summit.
Bereit anzufangen?
Nuget Downloads 16,154,058 | Version: 2025.11 gerade veröffentlicht