Estrai testo da DOCX

La maggior parte dei dati è rappresentata come testo visivo in documenti, immagini e sul Web, quindi l’estrazione di dati di testo a volte è la cosa più necessaria. Potrebbe essere necessario estrarre testo o immagini da documenti Word o PDF. Come sviluppatore C#, puoi estrarre facilmente il testo dai documenti a livello di codice. In questo articolo imparerai come estrarre il testo dai documenti DOC o DOCX usando C#.

I seguenti argomenti sono discussi/trattati in questo articolo:

API C# per l’estrazione di testo

Userò l’API GroupDocs.Parser for .NET per estrarre un testo dai documenti DOCX. Consente di estrarre testo, metadati e immagini da documenti in formato file supportati come Word, PDF, Excel e Powerpoint. Supporta anche l’estrazione di testo grezzo, formattato e strutturato, nonché metadati dai file dei formati supportati.

Puoi scaricare la DLL dell’API o installarla utilizzando NuGet.

Install-Package GroupDocs.Parser

Estrai testo da DOCX usando C#

Puoi facilmente analizzare qualsiasi documento ed estrarre il testo seguendo i semplici passaggi indicati di seguito:

  • Crea un’istanza della classe Parser.
  • Specificare il percorso del file
  • Chiama il metodo GetText della classe Parser per estrarre il testo
  • Ottieni risultati nell’oggetto della classe TextReader
  • Mostra i risultati chiamando il metodo ReadToEnd della classe TextReader

L’esempio di codice seguente mostra come estrarre il testo da un file DOCX usando C#.

// Crea un'istanza della classe Parser
Parser parser = new Parser(@"C:\Files\sample.docx");

// Estrarre un testo nel lettore
using (TextReader reader = parser.GetText())
{
    // Stampa un testo dal documento
    // Se l'estrazione del testo non è supportata, un lettore è null
    Console.WriteLine(reader == null ? "Text extraction isn't supported" : reader.ReadToEnd());
}
Estrai testo da DOCX usando C#

Estrai testo da DOCX usando C#

La classe Parser è la classe principale che fornisce funzionalità di analisi ed estrazione di testo e immagini. Ho specificato il percorso del file di input nel costruttore di questa classe.

Il metodo GetText() della classe Parser estrae un testo dal documento specificato.

Ottieni testo formattato da DOCX usando C#

Puoi facilmente analizzare il documento di Word ed estrarre il testo senza perdere la formattazione dello stile seguendo i semplici passaggi indicati di seguito:

  • Crea un’istanza della classe Parser.
  • Specificare il percorso del file
  • Definisci FormattedTextOptions
  • Imposta FormattedTextMode su HTML
  • Chiama il metodo GetFormattedText della classe Parser per estrarre il testo
  • Ottieni risultati nell’oggetto della classe TextReader
  • Mostra i risultati chiamando il metodo ReadToEnd della classe TextReader

L’esempio di codice seguente mostra come estrarre il testo formattato da un file DOCX usando C#.

// Crea un'istanza della classe Parser
Parser parser = new Parser(@"C:\Files\sample.docx");

// Estrarre un testo formattato nel lettore
using (TextReader reader = parser.GetFormattedText(new FormattedTextOptions(FormattedTextMode.Html)))
{
    // Stampa un testo formattato dal documento
    // Se l'estrazione di testo formattato non è supportata, un lettore è null
    Console.WriteLine(reader == null ? "Formatted text extraction isn't suppported" : reader.ReadToEnd());
}
Estrai testo formattato da DOCX usando C#

Estrai testo formattato da DOCX usando C#

La classe FormattedTextOptions fornisce le opzioni utilizzate per l’estrazione di testo formattato come l’estrazione Mode. Ho impostato la modalità di estrazione sull’HTML che estrae il testo di un documento come HTML .

Il metodo GetFormattedText() della classe Parser estrae un testo formattato dal documento specificato.

Estrai testo formattato da Pages usando C#

Puoi facilmente analizzare il documento di Word ed estrarre il testo formattato da una pagina specifica del documento seguendo i semplici passaggi indicati di seguito:

L’esempio di codice seguente mostra come estrarre il testo formattato dalle pagine una per una usando C#.

// Crea un'istanza della classe Parser
using (Parser parser = new Parser(@"C:\Files\sample.docx"))
{
    // Verifica se il documento supporta l'estrazione di testo formattato
    if (!parser.Features.FormattedText)
    {
        Console.WriteLine("Document isn't supports formatted text extraction.");
        return;
    }

    // Ottieni le informazioni sul documento
    IDocumentInfo documentInfo = parser.GetDocumentInfo();
    // Controlla se il documento ha pagine
    if (documentInfo.PageCount == 0)
    {
        Console.WriteLine("Document hasn't pages.");
        return;
    }

    // Iterare sulle pagine
    for (int p = 0; p < documentInfo.PageCount; p++)
    {
        // Stampa un numero di pagina 
        Console.WriteLine(string.Format("Page {0}/{1}", p + 1, documentInfo.PageCount));
        // Estrarre un testo formattato nel lettore
        using (TextReader reader = parser.GetFormattedText(p, new FormattedTextOptions(FormattedTextMode.Html)))
        {
            // Stampa un testo formattato dal documento
            // Ignoriamo il controllo null poiché abbiamo verificato in precedenza il supporto della funzione di estrazione del testo formattato
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
Estrai testo formattato da Pages usando C#

Estrai testo formattato da Pages usando C#

La classe Parser fornisce la proprietà Features che rappresenta la classe Features. Può essere utilizzato per verificare se una funzione è supportata per il documento. Puoi leggere ulteriori informazioni sulle funzionalità supportate nella sezione “Ottieni funzionalità supportate”.

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo hai imparato come estrarre il testo dai documenti di Word usando C#. Puoi saperne di più su GroupDocs.Parser per .NET API usando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche