DOCX nach Markdown in C# konvertieren

DocxToMarkdownConverter wandelt ein Word-Dokument in Markdown um: Eine Überschrift wird zu #, eine Tabelle zu einer Pipe-Tabelle. Bilder werden als data:-URIs eingebettet, sodass das Markdown für sich allein steht.

using DocToolkit;

byte[] docx = File.ReadAllBytes("input.docx");
string markdown = DocxToMarkdownConverter.Convert(docx);
File.WriteAllText("output.md", markdown);

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: Convert nimmt die .docx-Datei als byte[] entgegen und gibt das Markdown als string zurück.
  • Das ist mit großem Abstand die verlustreichere Richtung: Word kann weit mehr ausdrücken als Markdown.
  • ConvertWithReport gibt dasselbe Markdown zurück und dazu eine Liste dessen, was verloren ging. Eine leere Liste bedeutet, dass nichts verloren ging, wovon der Konverter weiß.
  • Bilder werden als data:-URIs eingebettet, nicht in Dateien neben der Ausgabe geschrieben.

Installation

dotnet add package Ank.DocToolkit

NuGetDokumentationGitHub