Convertir HTML en DOCX en C#

HtmlToDocxConverter construit un document Word à partir de HTML, mis en page en A4 sauf si vous choisissez un autre format de page. Rien de ce que le balisage référence n'est récupéré, il est donc sûr sur un serveur sans réseau.

using DocToolkit;

string html = "<h1>Invoice 2026-114</h1><p>Due on receipt</p>";
byte[] docx = await HtmlToDocxConverter.ConvertAsync(html);
File.WriteAllBytes("output.docx", docx);

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

  • Asynchrone : ConvertAsync prend le HTML sous forme de string et renvoie une Task<byte[]>.
  • A4 avec des marges d'un pouce par défaut ; passez un PageSetup comme PageSetup.Letter pour un autre format.
  • Les images distantes sont désactivées par défaut, et seules les images data: sont incorporées. RemoteImageOptions les active appel par appel, avec une liste facultative d'hôtes autorisés.
  • Un <link rel="stylesheet"> n'est jamais récupéré ; les blocs <style> en ligne et les attributs style sont respectés.

Installation

dotnet add package Ank.DocToolkit

NuGetDocumentationGitHub