
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
- Estrai testo da DOCX usando C#
- Ottieni testo formattato da DOCX usando C#
- Estrai testo formattato da Pages usando C#
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#
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#
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:
- Crea un’istanza della classe Parser.
- Specificare il percorso del file
- Controlla se il Testo formattato è vero
- Chiama GetDocumentInfo per ottenere il conteggio delle pagine
- Controlla se il PageCount non è zero
- Definisci FormattedTextOptions
- Imposta FormattedTextMode su HTML
- Chiama il metodo GetFormattedText per ogni indice di pagina 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 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#
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.