Convertir DOCX en HTML en C#
DocxToHtmlConverter transforme un document Word en HTML et conserve sa structure : les titres restent des titres, les tableaux restent des tableaux. Les images voyagent dans le HTML sous forme d'URI data:, si bien que le résultat est autonome.
using DocToolkit;
byte[] docx = File.ReadAllBytes("input.docx");
string html = DocxToHtmlConverter.Convert(docx);
File.WriteAllText("output.html", html);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 :
Convertprend le.docxsous forme debyte[]et renvoie unestring. - Le résultat est un document HTML complet, avec
<html>,<head>et<body>, pas un fragment. Pour l'intégrer dans une page, extrayez le body avec un parseur HTML. - Les images du document sont incorporées sous forme d'URI
data:, si bien que rien dans le résultat ne pointe vers un fichier inexistant. ConvertWithReportliste aussi ce que le HTML n'a pas pu porter. Un DOCX ordinaire signale au moins une entrée,SectionLayoutFlattened, car la géométrie des pages est exportée sans ses données de section.