
In alcuni casi, potrebbe essere necessario estrarre del testo dai documenti di Word per vari scopi. Come sviluppatore Java, puoi facilmente estrarre il testo dai file DOC o DOCX a livello di codice. In questo articolo imparerai come estrarre testo da documenti Word usando Java.
I seguenti argomenti sono discussi/trattati in questo articolo:
- API Java per estrarre testo da documenti Word
- Estrai testo da documenti Word usando Java
- Estrai testo da pagine specifiche di un documento Word utilizzando Java
- Ottieni Evidenzia da documenti Word usando Java
- Estrai testo formattato da DOCX usando Java
- Estrai il testo dal sommario usando Java
API Java per estrarre testo da documenti Word
Per estrarre il testo dai file DOC o DOCX, utilizzeremo l’API GroupDocs.Parser for Java. Consente di estrarre testo, metadati e immagini dai formati di file più diffusi di Word, PDF, Excel e PowerPoint. Supporta anche l’estrazione di testo grezzo, formattato e strutturato dai file di formati supportati.
Puoi scaricare il JAR dell’API o semplicemente aggiungere la seguente configurazione pom.xml nella tua applicazione Java basata su Maven per provare gli esempi di codice indicati di seguito.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>21.2</version>
</dependency>
Estrai testo da documenti Word usando Java
Puoi analizzare qualsiasi documento Word ed estrarre il testo seguendo i semplici passaggi indicati di seguito:
- Innanzitutto, carica il file DOCX utilizzando la classe Parser.
- Quindi, chiama il metodo Parser.getText() per estrarre il testo dal documento caricato.
- Ottieni i risultati del metodo Parser.getText() nell’oggetto classe TextReader.
- Infine, chiama il metodo TextReader.readToEnd() per leggere tutti i caratteri dalla posizione corrente alla fine del lettore di testo e restituirli come una stringa.
L’esempio di codice seguente mostra come estrarre il testo da un file DOCX utilizzando Java.
// Crea un'istanza della classe Parser
Parser parser = new Parser("C:\\Files\\sample.docx");
// Estrarre un testo grezzo nel lettore
try (TextReader reader = parser.getText()) {
// Stampa un testo dal documento
// Se l'estrazione del testo non è supportata, un lettore è null
System.out.println(reader == null ? "Text extraction isn't supported" : reader.readToEnd());
}

Estrai testo da documenti Word usando Java
Estrai testo da pagine specifiche di un documento Word utilizzando Java
Puoi analizzare un documento Word ed estrarre il testo da una pagina specifica seguendo i semplici passaggi indicati di seguito:
- Innanzitutto, carica il file DOCX utilizzando la classe Parser.
- Quindi, usa Parser.getFeatures().isText() per verificare se il documento supporta la funzione di estrazione del testo. Ulteriori informazioni sulle funzionalità supportate.
- Ora, chiama il metodo Parser.getDocumentInfo() per ottenere le informazioni generali sul documento. Come il tipo di file, il numero di pagine, la dimensione, ecc.
- Ottieni i risultati del metodo Parser.getDocumentInfo() nell’oggetto interfaccia IDocumentInfo.
- Quindi, controlla se IDocumentInfo.getPageCount() non è zero. Questo metodo restituisce il numero totale di pagine del documento.
- Esegui l’iterazione su tutte le pagine e chiama il metodo Parser.getText() per ogni indice di pagina per estrarre il testo e ottenere risultati nell’oggetto della classe TextReader.
- Infine, mostra i risultati chiamando il metodo TextReader.readToEnd() per leggere il testo estratto.
L’esempio di codice seguente mostra come estrarre il testo dalle pagine una per una utilizzando Java.
// Crea un'istanza della classe Parser
Parser parser = new Parser("C:\\Files\\sample.docx");
// Verifica se il documento supporta l'estrazione del testo
if (!parser.getFeatures().isText()) {
System.out.println("The document doesn't support text extraction.");
return;
}
// Ottieni le informazioni sul documento
IDocumentInfo documentInfo = parser.getDocumentInfo();
// Controlla se il documento ha pagine
if (documentInfo.getPageCount() == 0) {
System.out.println("The document has zero pages.");
return;
}
// Iterare sulle pagine
for (int p = 0; p < documentInfo.getPageCount(); p++) {
// Stampa un numero di pagina
System.out.println(String.format("Page number: %d/%d", p + 1, documentInfo.getPageCount()));
// Estrarre un testo nel lettore
try (TextReader reader = parser.getText(p)) {
// Stampa un testo dal documento
// Ignoriamo il controllo null poiché abbiamo verificato in precedenza il supporto della funzione di estrazione del testo
System.out.println(reader.readToEnd());
}
}

Estrai testo da pagine specifiche di un documento utilizzando Java
Ottieni Evidenzia da documenti Word usando Java
Un’evidenziazione è una parte del testo che viene solitamente utilizzata per spiegare il contesto del testo trovato nella funzionalità di ricerca. Puoi estrarre un’evidenziazione da un documento seguendo i semplici passaggi indicati di seguito:
- Innanzitutto, carica il file DOCX utilizzando la classe Parser.
- Crea un’istanza dell’oggetto classe HighlightOptions e passa la lunghezza massima come parametro di input al relativo costruttore per estrarre un’evidenziazione a lunghezza fissa.
- Quindi, chiama il metodo Parser.getHighlight() con la posizione iniziale e l’oggetto classe HighlightOptions per estrarre un’evidenziazione dal documento come oggetto della classe HighlightItem.
- Infine, chiama i metodi Highlight.getPosition() e HighlightItem.getText() per ottenere la posizione e il testo dell’evidenziazione.
L’esempio di codice seguente mostra come estrarre un’evidenziazione da un documento utilizzando Java.
// Crea un'istanza della classe Parser
try (Parser parser = new Parser("C:\\Files\\sample.docx")) {
// Estrai un punto culminante:
HighlightItem hl = parser.getHighlight(0, true, new HighlightOptions(8));
// Verifica se l'estrazione delle evidenziazioni è supportata
if (hl == null) {
System.out.println("Highlight extraction isn't supported");
return;
}
// Stampa un'evidenziazione estratta
System.out.println(String.format("At %d: %s", hl.getPosition(), hl.getText()));
}
At 0: Overview
Estrai testo formattato da DOCX usando Java
Puoi analizzare documenti Word ed estrarre testo senza perdere la formattazione dello stile seguendo i semplici passaggi indicati di seguito:
- Innanzitutto, carica il file DOCX utilizzando la classe Parser.
- Definisci FormattedTextOptions e imposta FormattedTextMode su HTML. Ti consente di estrarre un testo formattato HTML dal documento.
- Quindi, chiama il metodo Parser.getFormattedText() per estrarre il testo formattato.
- Ottieni i risultati del metodo Parser.getText() nell’oggetto classe TextReader.
- Infine, chiama il metodo TextReader.readToEnd() per leggere tutto il testo.
L’esempio di codice seguente mostra come estrarre il testo formattato da un file DOCX utilizzando Java.
// Crea un'istanza della classe Parser
try (Parser parser = new Parser("C:\\Files\\sample.docx")) {
// Estrarre un testo formattato nel lettore
try (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
System.out.println(reader == null ? "Formatted text extraction isn't suppported" : reader.readToEnd());
}
}

Estrai testo formattato da DOCX usando Java
Estrai il testo dal sommario usando Java
Puoi estrarre il testo dal documento dal sommario seguendo i semplici passaggi indicati di seguito:
- Innanzitutto, carica il file DOCX utilizzando la classe Parser.
- Quindi, chiama il metodo Parser.getToc() per estrarre un sommario come raccolta di oggetti di classe TocItem. Il TocItem rappresenta l’elemento utilizzato nella funzionalità di estrazione del sommario.
- Ora controlla se la raccolta non è nulla.
- Quindi, scorrere la raccolta di TocItem e chiamare il metodo TocItem.extractText() per estrarre il testo dal documento a cui fa riferimento l’oggetto TocItem.
- Ottieni risultati nell’oggetto classe TextReader.
- Infine, chiama il metodo TextReader.readToEnd() per leggere tutto il testo.
L’esempio di codice seguente mostra come estrarre il testo dal sommario dai documenti di Word usando Java.
// Crea un'istanza della classe Parser
try (Parser parser = new Parser("C:\\Files\\sampleTOC.docx")) {
// Ottieni il sommario
Iterable<TocItem> tocItems = parser.getToc();
// Verificare se l'estrazione toc è supportata
if (tocItems == null) {
System.out.println("Table of contents extraction isn't supported");
}
else
{
// Iterare sugli elementi
for (TocItem tocItem : tocItems) {
// Stampa il testo del capitolo
try (TextReader reader = tocItem.extractText()) {
System.out.println("----");
System.out.println(reader.readToEnd());
}
}
}
}

Estrai il testo dal sommario usando Java
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 testo da documenti Word usando Java. Inoltre, hai visto come estrarre il testo formattato da un file DOCX a livello di codice. Questo articolo spiega anche come estrarre il testo dal sommario ed estrarre un’evidenziazione da un documento. Inoltre, puoi saperne di più sull’API GroupDocs.Parser per Java utilizzando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.