Convertir HTML en document Word à l'aide de C#

HTML (HyperText Markup Language) est le principal format de fichier pour les pages Web pris en charge par tous les navigateurs. Dans divers cas, nous pouvons avoir besoin de convertir des fichiers HTML ou du contenu de pages Web actives en documents Word (DOC, DOCX, DOT, DOTM, DOCM). Il aide à modifier le texte des pages Web HTML ou à appliquer la mise en forme du texte. Dans cet article, nous allons apprendre comment convertir HTML en un document Word à l’aide de C#. Les sujets suivants seront traités dans cet article:

API C# pour convertir HTML en DOCX — Téléchargement gratuit

Pour convertir des fichiers HTML ou des pages Web en formats de fichiers de traitement de texte, nous utiliserons l’API Aspose.Words pour .NET. C’est une solution complète pour créer, éditer, convertir ou analyser des documents Word par programmation. Veuillez soit télécharger la DLL de l’API ou l’installer à l’aide de NuGet.

Install-Package Aspose.Words

Convertir HTML en Word en C#

Nous pouvons facilement convertir des fichiers HTML en documents Word par programmation en suivant les étapes ci-dessous:

  1. Chargez un fichier HTML à l’aide de la classe Document.
  2. Appelez la méthode Document.Save(string, SaveFormat) pour enregistrer le fichier HTML sous « output.docx ».

L’énumération SaveFormat dans la méthode Document.Save() spécifie le format dans lequel vous souhaitez convertir le fichier HTML. L’exemple de code suivant montre comment convertir un fichier HTML en DOCX à l’aide de C#.

// Cet exemple de code montre comment convertir un fichier HTML en un document Word à l'aide de C#.
// Charger le fichier HTML à l'aide de la classe Document
Document document = new Document(@"C:\Files\sample.html");

// Convertir le fichier HTML au format Word DOCX
document.Save(@"C:\Files\output.docx", SaveFormat.Docx);

Convertir une page Web en Word à partir d’une URL en C#

Nous pouvons également convertir une page Web HTML directement d’une URL en direct vers un document Word en suivant les étapes ci-dessous:

  1. Tout d’abord, téléchargez le contenu de la page Web en tant que tableau System.Byte à partir de l’URL spécifiée.
  2. Ensuite, lancez l’objet MemoryStream avec un objet tableau comme argument.
  3. Créez ensuite une instance de la classe _HtmlLoadOptions{.broken_link} _.
  4. Après cela, créez une instance de la classe **Document ** et initialisez-la avec les objets MemoryStream et HtmlLoadOptions.
  5. Enfin, appelez la méthode Document.Save(string, SaveFormat) pour enregistrer le fichier HTML sous « output.docx ».

L’exemple de code suivant montre comment convertir une page Web HTML en DOCX à l’aide de C#.

// Cet exemple de code montre comment enregistrer une page Web HTML directement à partir d'une URL en direct dans un document Word à l'aide de C#.
// L'URL
string Url = "https://en.wikipedia.org/wiki/Aspose.Words";

// Définir les options de chargement HTML 
HtmlLoadOptions options = new HtmlLoadOptions();

byte[] imageData = null;

// Télécharger le contenu de l'URL en tant que tableau d'octets
using (var wc = new System.Net.WebClient())
    imageData = wc.DownloadData(Url);

// Convertir le tableau d'octets en flux
var urlStream =  new MemoryStream(imageData);

// Créer une instance de l'objet Document
Document document = new Document(urlStream, options);

// Enregistrer au format DOCX
document.Save(@"C:\Files\output_url.docx", SaveFormat.Docx);

Convertir une chaîne HTML en Word à l’aide de C#

Nous pouvons générer dynamiquement un document Word à partir d’une chaîne HTML en suivant les étapes ci-dessous:

  1. Tout d’abord, créez une instance de la classe Document.
  2. Ensuite, créez une instance de la classe DocumentBuilder avec l’objet Document.
  3. Ensuite, insérez du code HTML dans le document à l’aide de la méthode DocumentBuilder.InsertHtml(string).
  4. Enfin, enregistrez le document Word à l’aide de la méthode Document.Save(string, SaveFormat).

L’exemple de code suivant montre comment convertir une chaîne HTML en DOCX à l’aide de C#.

// Cet exemple de code montre comment générer un document Word à partir d'une chaîne HTML à l'aide de C#.
// Créer un nouveau document
Document document = new Document();

// Créer un générateur de documents
DocumentBuilder builder = new DocumentBuilder(document);

// Insérer HTML
builder.InsertHtml("<ul>\r\n" +
    "<li>Item1</li>\r\n" +
    "<li>Item2</li>\r\n" +
    "</ul>");

// Enregistrer au format DOCX
document.Save(@"C:\Files\html-string-as-word.docx", SaveFormat.Docx);

Obtenez une licence gratuite

Veuillez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, nous avons appris comment convertir HTML en un document Word à l’aide de C#. Nous avons également vu comment convertir des pages Web en direct d’une URL en fichiers Word par programmation. En outre, vous pouvez en savoir plus sur l’API Aspose.Words pour .NET en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également