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: ConvertAsync nimmt das HTML als string entgegen und gibt einen Task<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 ein PageSetup für eine andere Größe entgegen.
  • Remote-Bilder sind standardmäßig aus. RemoteImageOptions schaltet sie pro Aufruf ein und lehnt standardmäßig dennoch Loopback- und private Adressen ab (AllowPrivateAddresses erlaubt sie).

Installation

dotnet add package Ank.DocToolkit

NuGetDokumentationGitHub