Converter HTML para documento do Word usando C #

HTML (HyperText Markup Language) é um formato de arquivo líder para páginas da Web suportado por todos os navegadores. Em vários casos, podemos precisar converter arquivos HTML ou conteúdo de páginas da Web ao vivo em documentos do Word (DOC, DOCX, DOT, DOTM, DOCM ). Ajuda a editar o texto de páginas da Web em HTML ou aplicar a formatação de texto. Neste artigo, aprenderemos como converter HTML em um documento do Word usando C#.

Os seguintes tópicos serão abordados neste artigo:

API C# para converter HTML para DOCX — Download grátis

Para converter arquivos HTML ou páginas da Web para formatos de arquivo de processamento de texto, usaremos a API Aspose.Words for .NET. É uma solução completa para criar, editar, converter ou analisar documentos do Word programaticamente. Por favor, baixe a DLL da API ou instale-a usando NuGet.

Install-Package Aspose.Words

Converter HTML para Word em C

Podemos converter facilmente arquivos HTML em documentos do Word programaticamente seguindo as etapas abaixo:

  1. Carregue um arquivo HTML usando a classe Document.
  2. Chame o método Document.Save(string, SaveFormat) para salvar o arquivo HTML como “output.docx”.

A enumeração SaveFormat no método Document.Save() especifica o formato no qual você deseja converter o arquivo HTML. O exemplo de código a seguir mostra como converter um arquivo HTML em DOCX usando C#.

// Este exemplo de código demonstra como converter um arquivo HTML em um documento do Word usando C#.
// Carregar arquivo HTML usando a classe Document
Document document = new Document(@"C:\Files\sample.html");

// Converter arquivo HTML para o formato Word DOCX
document.Save(@"C:\Files\output.docx", SaveFormat.Docx);
Convert HTML to Word in C#.

Converter uma página da Web em Word a partir de URL em C

Também podemos converter uma página da Web HTML diretamente de um URL ao vivo para um documento do Word seguindo as etapas abaixo:

  1. Em primeiro lugar, baixe o conteúdo da página da Web como uma matriz System.Byte do URL especificado.
  2. Em seguida, inicie o objeto MemoryStream com um objeto array como argumento.
  3. Em seguida, crie uma instância da classe HtmlLoadOptions.
  4. Depois disso, crie uma instância da classe Document e inicialize-a com os objetos MemoryStream e HtmlLoadOptions.
  5. Finalmente, chame o método Document.Save(string, SaveFormat) para salvar o arquivo HTML como “output.docx”.

O exemplo de código a seguir mostra como converter uma página da Web HTML em DOCX usando C#.

// Este exemplo de código demonstra como salvar uma página da Web HTML diretamente de uma URL ativa em um documento do Word usando C#.
// O URL
string Url = "https://en.wikipedia.org/wiki/Aspose.Words";

// Definir opções de carregamento HTML 
HtmlLoadOptions options = new HtmlLoadOptions();

byte[] imageData = null;

// Baixar conteúdo do URL como matriz de bytes
using (var wc = new System.Net.WebClient())
    imageData = wc.DownloadData(Url);

// Converter matriz de bytes em fluxo
var urlStream =  new MemoryStream(imageData);

// Criar uma instância do objeto Document
Document document = new Document(urlStream, options);

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

Converter uma string HTML em Word usando C#

Podemos gerar um documento do Word a partir de uma string HTML dinamicamente seguindo as etapas abaixo:

  1. Primeiramente, crie uma instância da classe Document.
  2. Em seguida, crie uma instância da classe DocumentBuilder com o objeto Document.
  3. Em seguida, insira o HTML no documento usando o método DocumentBuilder.InsertHtml(string).
  4. Finalmente, salve o documento do Word usando o método Document.Save(string, SaveFormat).

O exemplo de código a seguir mostra como converter uma string HTML em DOCX usando C#.

// Este exemplo de código demonstra como gerar um documento do Word a partir de uma string HTML usando C#.
// Criar um novo documento
Document document = new Document();

// Criar um construtor de documentos
DocumentBuilder builder = new DocumentBuilder(document);

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

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

Obtenha uma licença gratuita

Experimente a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, aprendemos como converter HTML em um documento do Word usando C#. Também vimos como converter páginas da Web ao vivo de um URL para arquivos do Word programaticamente. Além disso, você pode aprender mais sobre Aspose.Words for .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também