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 :
ConvertAsyncprend le HTML sous forme destringet renvoie uneTask<byte[]>. - A4 avec des marges d'un pouce par défaut ; passez un
PageSetupcommePageSetup.Letterpour un autre format. - Les images distantes sont désactivées par défaut, et seules les images
data:sont incorporées.RemoteImageOptionsles 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 attributsstylesont respectés.