Extrair texto do DOCX

A maioria dos dados é representada como texto visual em documentos, imagens e na Web, portanto, a extração de dados de texto às vezes é a coisa mais necessária. Pode ser necessário extrair texto ou imagens de documentos Word ou PDF. Como desenvolvedor C#, você pode extrair facilmente texto de documentos programaticamente. Neste artigo, você aprenderá como extrair texto dos documentos DOC ou DOCX usando C#.

Os seguintes tópicos são discutidos/abordados neste artigo:

API C# para extração de texto

Estarei usando GroupDocs.Parser for .NET API para extrair um texto de documentos DOCX. Ele permite extrair texto, metadados e imagens de documentos de formato de arquivo suportados, como Word, PDF, Excel e Powerpoint. Ele também suporta a extração de texto bruto, formatado e estruturado, bem como metadados dos arquivos de formatos suportados.

Você pode baixar a DLL da API ou instalá-la usando o NuGet.

Install-Package GroupDocs.Parser

Extrair texto do DOCX usando C

Você pode analisar facilmente qualquer documento e extrair texto seguindo as etapas simples mencionadas abaixo:

  • Crie uma instância da classe Parser
  • Especifique o caminho do arquivo
  • Chame o método GetText da classe Parser para extrair texto
  • Obtenha resultados no objeto da classe TextReader
  • Mostrar resultados chamando o método ReadToEnd da classe TextReader

O exemplo de código a seguir mostra como extrair texto de um arquivo DOCX usando C#.

// Crie uma instância da classe Parser
Parser parser = new Parser(@"C:\Files\sample.docx");

// Extraia um texto para o leitor
using (TextReader reader = parser.GetText())
{
    // Imprimir um texto do documento
    // Se a extração de texto não for compatível, um leitor será nulo
    Console.WriteLine(reader == null ? "Text extraction isn't supported" : reader.ReadToEnd());
}
Extrair texto do DOCX usando C #

Extrair texto do DOCX usando C #

A classe Parser é a classe principal que fornece funcionalidade de análise e extração de texto e imagens. Eu especifiquei o caminho do arquivo de entrada no construtor desta classe.

O método GetText() da classe Parser extrai um texto do documento especificado.

Obter texto formatado do DOCX usando C#

Você pode analisar facilmente o documento do Word e extrair o texto sem perder a formatação do estilo seguindo as etapas simples mencionadas abaixo:

  • Crie uma instância da classe Parser
  • Especifique o caminho do arquivo
  • Definir FormattedTextOptions
  • Defina FormattedTextMode para HTML
  • Chame o método GetFormattedText da classe Parser para extrair texto
  • Obtenha resultados no objeto da classe TextReader
  • Mostrar resultados chamando o método ReadToEnd da classe TextReader

O exemplo de código a seguir mostra como extrair texto formatado de um arquivo DOCX usando C#.

// Crie uma instância da classe Parser
Parser parser = new Parser(@"C:\Files\sample.docx");

// Extraia um texto formatado no leitor
using (TextReader reader = parser.GetFormattedText(new FormattedTextOptions(FormattedTextMode.Html)))
{
    // Imprimir um texto formatado do documento
    // Se a extração de texto formatado não for compatível, um leitor será nulo
    Console.WriteLine(reader == null ? "Formatted text extraction isn't suppported" : reader.ReadToEnd());
}
Extrair texto formatado do DOCX usando C #

Extrair texto formatado do DOCX usando C #

A classe FormattedTextOptions fornece as opções que são usadas para extração de texto formatado, como a extração Mode. Eu defino o modo de extração para o HTML que extrai um texto de documento como HTML .

O método GetFormattedText() da classe Parser extrai um texto formatado do documento especificado.

Extrair texto formatado de páginas usando C#

Você pode analisar facilmente um documento do Word e extrair texto formatado de uma página específica do documento seguindo as etapas simples mencionadas abaixo:

O exemplo de código a seguir mostra como extrair texto formatado de páginas uma a uma usando C#.

// Crie uma instância da classe Parser
using (Parser parser = new Parser(@"C:\Files\sample.docx"))
{
    // Verifique se o documento suporta extração de texto formatado
    if (!parser.Features.FormattedText)
    {
        Console.WriteLine("Document isn't supports formatted text extraction.");
        return;
    }

    // Obtenha as informações do documento
    IDocumentInfo documentInfo = parser.GetDocumentInfo();
    // Verifique se o documento tem páginas
    if (documentInfo.PageCount == 0)
    {
        Console.WriteLine("Document hasn't pages.");
        return;
    }

    // Iterar nas páginas
    for (int p = 0; p < documentInfo.PageCount; p++)
    {
        // Imprimir um número de página 
        Console.WriteLine(string.Format("Page {0}/{1}", p + 1, documentInfo.PageCount));
        // Extraia um texto formatado no leitor
        using (TextReader reader = parser.GetFormattedText(p, new FormattedTextOptions(FormattedTextMode.Html)))
        {
            // Imprimir um texto formatado do documento
            // Ignoramos a verificação de nulos, pois verificamos o suporte ao recurso de extração de texto formatado anteriormente
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
Extrair texto formatado de páginas usando C#

Extrair texto formatado de páginas usando C#

A classe Parser fornece a propriedade Features representando a classe Features. Ele pode ser usado para verificar se um recurso é compatível com o documento. Você pode ler mais sobre os recursos compatíveis na seção “Obter recursos compatíveis”.

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como extrair texto de documentos do Word usando C#. Você pode aprender mais sobre GroupDocs.Parser para .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também