DOCX nach HTML in C# konvertieren
DocxToHtmlConverter wandelt ein Word-Dokument in HTML um und behält seine Struktur: Überschriften bleiben Überschriften, Tabellen bleiben Tabellen. Bilder reisen als data:-URIs im HTML mit, sodass das Ergebnis für sich allein steht.
using DocToolkit;
byte[] docx = File.ReadAllBytes("input.docx");
string html = DocxToHtmlConverter.Convert(docx);
File.WriteAllText("output.html", html);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
- Synchron:
Convertnimmt die.docx-Datei alsbyte[]entgegen und gibt einenstringzurück. - Das Ergebnis ist ein vollständiges HTML-Dokument mit
<html>,<head>und<body>, kein Fragment. Um es in eine Seite einzubetten, lösen Sie den Body mit einem HTML-Parser heraus. - Bilder im Dokument werden als
data:-URIs eingebettet, sodass nichts in der Ausgabe auf eine Datei verweist, die nicht existiert. ConvertWithReportlistet außerdem auf, was das HTML nicht übernehmen konnte. Ein gewöhnliches DOCX meldet mindestens einen Eintrag,SectionLayoutFlattened, weil die Seitengeometrie ohne ihre Abschnittsdaten exportiert wird.