HTML nach PDF in C# konvertieren
HtmlToPdfConverter wandelt HTML ohne Browser in ein PDF um: Es erstellt ein Word-Dokument und rendert dieses. Durch kommt, was Word ausdrücken kann, daher bleiben Text, Tabellen, Listen und Bilder erhalten, Flexbox- und Grid-Layouts dagegen nicht.
using DocToolkit;
string html = "<h1>Invoice 2026-114</h1><p>Due on receipt</p>";
byte[] pdf = await HtmlToPdfConverter.ConvertAsync(html);
File.WriteAllBytes("output.pdf", pdf);Was es braucht
- Keinen Browser, weder headless noch sonst.
- Keine Office-Installation und kein LibreOffice.
- Keine nativen Dateien: nur verwalteten Code.
- Kein Netzwerk zur Laufzeit, außer Sie verlangen es.
Gut zu wissen
- Asynchron:
ConvertAsyncnimmt das HTML alsstringentgegen und gibt einenTask<byte[]>zurück. - Flexbox, Grid, Floats und absolute Positionierung werden nicht angewendet, und nicht unterstützte Funktionen werden stillschweigend verworfen. Das PDF ist in jedem Fall gültig.
- Standardmäßig A4;
ConvertAsync(html, page)nimmt einPageSetupfür eine andere Größe entgegen. - Remote-Bilder sind standardmäßig aus.
RemoteImageOptionsschaltet sie pro Aufruf ein und lehnt standardmäßig dennoch Loopback- und private Adressen ab (AllowPrivateAddresseserlaubt sie).