Convertir DOCX en Markdown en C#

DocxToMarkdownConverter transforme un document Word en Markdown : un titre devient #, un tableau devient un tableau à barres verticales. Les images sont incorporées sous forme d'URI data:, si bien que le Markdown est autonome.

using DocToolkit;

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

Ce qu'il faut

  • Aucun navigateur, headless ou non.
  • Aucune installation d'Office, et pas de LibreOffice.
  • Aucun fichier natif : uniquement du code managé.
  • Aucun réseau à l'exécution, sauf si vous le demandez.

Bon à savoir

  • Synchrone : Convert prend le .docx sous forme de byte[] et renvoie le Markdown sous forme de string.
  • C'est de loin le sens de conversion qui perd le plus : Word exprime bien plus que ce que Markdown peut exprimer.
  • ConvertWithReport renvoie le même Markdown et une liste de ce qui a été perdu. Une liste vide signifie que rien n'a été perdu à la connaissance du convertisseur.
  • Les images sont incorporées sous forme d'URI data:, et non écrites dans des fichiers à côté du résultat.

Installation

dotnet add package Ank.DocToolkit

NuGetDocumentationGitHub