Convierta HTML a documento de Word usando C#

HTML (HyperText Markup Language) es un formato de archivo líder para páginas web compatible con todos los navegadores. En varios casos, es posible que necesitemos convertir archivos HTML o contenido de páginas web activas en documentos de Word (DOC, DOCX, DOT, DOTM, DOCM ). Ayuda a editar el texto de las páginas web HTML o aplicar el formato de texto. En este artículo, aprenderemos cómo convertir HTML a un documento de Word usando C#.

En este artículo se tratarán los siguientes temas:

API de C# para convertir HTML a DOCX — Descarga gratuita

Para convertir archivos HTML o páginas web a formatos de archivo de procesamiento de Word, usaremos Aspose.Words for .NET API. Es una solución completa para crear, editar, convertir o analizar documentos de Word mediante programación. Descargue la DLL de la API o instálela usando NuGet.

Install-Package Aspose.Words

Convertir HTML a Word en C#

Podemos convertir fácilmente archivos HTML a documentos de Word mediante programación siguiendo los pasos que se detallan a continuación:

  1. Cargue un archivo HTML utilizando la clase Documento.
  2. Llame al método Document.Save(string, SaveFormat) para guardar el archivo HTML como “output.docx”.

La enumeración SaveFormat en el método Document.Save() especifica el formato en el que desea convertir el archivo HTML. El siguiente ejemplo de código muestra cómo convertir un archivo HTML a DOCX usando C#.

// Este ejemplo de código muestra cómo convertir un archivo HTML en un documento de Word usando C#.
// Cargue el archivo HTML usando la clase de documento
Document document = new Document(@"C:\Files\sample.html");

// Convertir archivo HTML a formato Word DOCX
document.Save(@"C:\Files\output.docx", SaveFormat.Docx);
Convert HTML to Word in C#.

Convertir una página web a Word desde URL en C#

También podemos convertir una página web HTML directamente desde una URL activa a un documento de Word siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, descargue el contenido de la página web como una matriz System.Byte desde la URL especificada.
  2. A continuación, inicie el objeto MemoryStream con un objeto de matriz como argumento.
  3. Luego, cree una instancia de la clase HtmlLoadOptions.
  4. Después de eso, cree una instancia de la clase Document e inicialícela con los objetos MemoryStream y HtmlLoadOptions.
  5. Finalmente, llame al método Document.Save(string, SaveFormat) para guardar el archivo HTML como “output.docx”.

El siguiente ejemplo de código muestra cómo convertir una página web HTML a DOCX usando C#.

// Este ejemplo de código demuestra cómo guardar una página web HTML directamente desde una URL activa a un documento de Word usando C#.
// la dirección URL
string Url = "https://en.wikipedia.org/wiki/Aspose.Words";

// Definir opciones de carga de HTML 
HtmlLoadOptions options = new HtmlLoadOptions();

byte[] imageData = null;

// Descargar contenido de URL como matriz de bytes
using (var wc = new System.Net.WebClient())
    imageData = wc.DownloadData(Url);

// Convertir matriz de bytes en flujo
var urlStream =  new MemoryStream(imageData);

// Crear una instancia del objeto Documento
Document document = new Document(urlStream, options);

// Guardar como DOCX
document.Save(@"C:\Files\output_url.docx", SaveFormat.Docx);

Convierta una cadena HTML a Word usando C#

Podemos generar un documento de Word a partir de una cadena HTML de forma dinámica siguiendo los pasos que se indican a continuación:

  1. En primer lugar, cree una instancia de la clase Documento.
  2. A continuación, cree una instancia de la clase DocumentBuilder con el objeto Document.
  3. Luego, inserte HTML en el documento usando el método DocumentBuilder.InsertHtml(string).
  4. Finalmente, guarde el documento de Word usando el método Document.Save(string, SaveFormat).

El siguiente ejemplo de código muestra cómo convertir una cadena HTML a DOCX usando C#.

// Este ejemplo de código demuestra cómo generar un documento de Word a partir de una cadena HTML usando C#.
// Crear un nuevo documento
Document document = new Document();

// Crear un generador de documentos
DocumentBuilder builder = new DocumentBuilder(document);

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

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

Obtenga una licencia gratis

Pruebe la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Conclusión

En este artículo, hemos aprendido cómo convertir HTML a un documento de Word usando C#. También hemos visto cómo convertir páginas web en vivo desde una URL a archivos de Word mediante programación. Además, puede obtener más información sobre Aspose.Words para la API de .NET utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también