HTML zu PDF-Konverter Vergleich: Kostenlose vs kostenpflichtige Bibliotheken for .NET
XML kann nicht direkt in PDF gerendert werden, daher erfolgt der Weg in zwei Schritten: Ein XSLT-Stylesheet transformiert das XML in HTML, dann rendert IronPDF dieses HTML zu PDF über seine Chrome-Engine. IronPDF übernimmt nur den letzten Teil; XSLT übernimmt die Gestaltung. Diese Aufteilung hält Daten (das XML) und Präsentation (das Stylesheet) getrennt, und die unten aufgeführten Anwendungsfälle stützen sich alle darauf.
using IronPdf;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
var transform = new XslCompiledTransform();
transform.Load("invoice.xslt");
using var writer = new StringWriter();
using (var reader = XmlReader.Create("invoice.xml"))
{
transform.Transform(reader, null, writer);
}
new ChromePdfRenderer()
.RenderHtmlAsPdf(writer.ToString())
.SaveAs("invoice.pdf");Imports IronPdf
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Dim transform As New XslCompiledTransform()
transform.Load("invoice.xslt")
Using writer As New StringWriter()
Using reader As XmlReader = XmlReader.Create("invoice.xml")
transform.Transform(reader, Nothing, writer)
End Using
Dim renderer As New ChromePdfRenderer()
renderer.RenderHtmlAsPdf(writer.ToString()).SaveAs("invoice.pdf")
End Using(Hinweis: Transform schreibt in das StringWriter; es gibt nicht den HTML zurück, daher lesen Sie writer.ToString() nach dem Aufruf.)
Elektronische Rechnungsstellung und maschinenlesbare Rechnungsformate
Hier zahlt sich die Pipeline am stärksten aus. Standards wie UBL, Factur-X und ZUGFeRD tragen Rechnungen als XML-Daten, nicht als Dokumente, die jemand lesen kann. Ein Stylesheet verwandelt dieses XML in eine formatierte Rechnung, und IronPDF erzeugt das PDF, das eine Person tatsächlich erhält.
Regulierte Datenfeeds in Finanzwesen, Regierung und Gesundheitswesen
Diese Branchen tauschen strukturiertes XML aus: Steuererklärungen, Finanzberichte, klinische Dokumente, regulatorische Einreichungen. Jedes Schema wird durch sein eigenes Stylesheet in ein konformes Drucklayout abgebildet, wobei die Transformationslogik aus Ihrem C# herausgehalten wird.
Produktkataloge und Preislisten
Ein Katalog-Feed in XML wird durch ein Stylesheet zu einer formatierten Broschüre oder Tabelle, wobei das Styling mit vertrautem HTML und CSS gehandhabt wird, anstatt einer proprietären PDF-Sprache.
Eine Quelle, viele Dokumentvarianten
Da die Präsentation in der Vorlage lebt, kann eine XML-Quelle mehrere Ausgaben (Kundenrechnung, interne Kopie, lokalisierte Version) durch Austausch von Stylesheets erzeugen. Keine Datenänderungen, keine Neukompilierung.
Parametrisierte und bedingte Dokumente
Übergeben Sie Laufzeitwerte in die Transformation mit XsltArgumentList, sodass eine Vorlage auf Währung, Region oder Entwurfsstatus verweisen kann, bevor sie gerendert wird:
var args = new XsltArgumentList();
args.AddParam("currency", "", "AUD");
using var writer = new StringWriter();
using (var reader = XmlReader.Create("invoice.xml"))
{
transform.Transform(reader, args, writer);
}Imports System.Xml
Imports System.Xml.Xsl
Imports System.IO
Dim args As New XsltArgumentList()
args.AddParam("currency", "", "AUD")
Using writer As New StringWriter()
Using reader As XmlReader = XmlReader.Create("invoice.xml")
transform.Transform(reader, args, writer)
End Using
End UsingWann man dies nicht verwenden sollte
Für eine einfache XML-Struktur oder eine einmalige Umwandlung ist die XSLT-Schicht Overhead; parsen Sie das XML und erstellen Sie das HTML direkt. Der Stylesheet-Ansatz erweist sich als nützlich in Systemen, die mit unterschiedlichen Schemata umgehen oder eine wartbare, wiederverwendbare Transformationslogik benötigen.
Warum die Aufteilung der Punkt ist
Die Stärke der Pipeline ist diese Trennung. IronPDF bietet Ihnen eine pixelgenaue Wiedergabe im letzten Schritt, aber die Flexibilität, mehrere Formate, bedingte Layouts, Schemaunabhängigkeit, all das ergibt sich daraus, dass die Transformation in XSLT und nicht im Code bleibt.

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 Handbücher.