Extrahieren Sie Text aus Word-Dokumenten mit Java

In bestimmten Fällen müssen Sie möglicherweise Text aus Ihren Word-Dokumenten für verschiedene Zwecke extrahieren. Als Java-Entwickler können Sie ganz einfach Text aus DOC- oder DOCX-Dateien programmgesteuert extrahieren. In diesem Artikel erfahren Sie, wie Sie mit Java Text aus Word-Dokumenten extrahieren.

Die folgenden Themen werden in diesem Artikel behandelt/behandelt:

Java-API zum Extrahieren von Text aus Word-Dokumenten

Zum Extrahieren von Text aus den DOC- oder DOCX-Dateien verwenden wir die API GroupDocs.Parser for Java. Es ermöglicht das Extrahieren von Text, Metadaten und Bildern aus gängigen Dateiformaten wie Word, PDF, Excel und PowerPoint. Es unterstützt auch die Extraktion von rohem, formatiertem und strukturiertem Text aus den Dateien von unterstützten Formaten.

Sie können das JAR der API herunterladen oder einfach die folgende pom.xml-Konfiguration in Ihrer Maven-basierten Java-Anwendung hinzufügen, um die unten genannten Codebeispiele auszuprobieren.

<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>

Extrahieren Sie Text aus Word-Dokumenten mit Java

Sie können jedes Word-Dokument parsen und Text extrahieren, indem Sie die folgenden einfachen Schritte ausführen:

  • Laden Sie zunächst die DOCX-Datei mit der Klasse Parser.
  • Rufen Sie dann die Methode Parser.getText() auf, um Text aus dem geladenen Dokument zu extrahieren.
  • Rufen Sie die Ergebnisse der Methode Parser.getText() im Klassenobjekt TextReader ab.
  • Rufen Sie schließlich die Methode TextReader.readToEnd() auf, um alle Zeichen von der aktuellen Position bis zum Ende des Textreaders zu lesen und sie als einen String zurückzugeben.

Das folgende Codebeispiel zeigt, wie Sie mit Java Text aus einer DOCX-Datei extrahieren.

// Erstellen Sie eine Instanz der Parser-Klasse
Parser parser = new Parser("C:\\Files\\sample.docx");

// Extrahieren Sie einen Rohtext in den Reader
try (TextReader reader = parser.getText()) {
    // Drucken Sie einen Text aus dem Dokument
    // Wenn die Textextraktion nicht unterstützt wird, ist ein Reader null
    System.out.println(reader == null ? "Text extraction isn't supported" : reader.readToEnd());
}
Extrahieren Sie Text aus Word-Dokumenten mit Java

Extrahieren Sie Text aus Word-Dokumenten mit Java

Extrahieren Sie Text aus bestimmten Seiten eines Word-Dokuments mit Java

Sie können ein Word-Dokument parsen und Text von einer bestimmten Seite extrahieren, indem Sie die folgenden einfachen Schritte ausführen:

Das folgende Codebeispiel zeigt, wie Text mithilfe von Java einzeln aus Seiten extrahiert wird.

// Erstellen Sie eine Instanz der Parser-Klasse
Parser parser = new Parser("C:\\Files\\sample.docx");

// Überprüfen Sie, ob das Dokument die Textextraktion unterstützt
if (!parser.getFeatures().isText()) {
    System.out.println("The document doesn't support text extraction.");
    return;
}

// Holen Sie sich die Dokumentinformationen
IDocumentInfo documentInfo = parser.getDocumentInfo();

// Überprüfen Sie, ob das Dokument Seiten hat
if (documentInfo.getPageCount() == 0) {
    System.out.println("The document has zero pages.");
    return;
}

// Über Seiten iterieren
for (int p = 0; p < documentInfo.getPageCount(); p++) {
    // Drucken Sie eine Seitenzahl
    System.out.println(String.format("Page number: %d/%d", p + 1, documentInfo.getPageCount()));
    // Extrahieren Sie einen Text in den Reader
    try (TextReader reader = parser.getText(p)) {
        // Drucken Sie einen Text aus dem Dokument
        // Wir ignorieren die Nullprüfung, da wir zuvor die Unterstützung der Textextraktionsfunktion überprüft haben
        System.out.println(reader.readToEnd());
    }
}
Extrahieren Sie Text aus bestimmten Seiten eines Dokuments mit Java

Extrahieren Sie Text aus bestimmten Seiten eines Dokuments mit Java

Holen Sie sich Highlight aus Word-Dokumenten mit Java

Ein Highlight ist ein Teil des Textes, der normalerweise verwendet wird, um den Kontext des gefundenen Textes in der Suchfunktion zu erklären. Sie können eine Markierung aus einem Dokument extrahieren, indem Sie die folgenden einfachen Schritte ausführen:

  • Laden Sie zunächst die DOCX-Datei mit der Klasse Parser.
  • Erstellen Sie eine Instanz des Klassenobjekts HighlightOptions und übergeben Sie die maximale Länge als Eingabeparameter an seinen Konstruktor, um eine Hervorhebung mit fester Länge zu extrahieren.
  • Rufen Sie dann die Methode Parser.getHighlight() mit der Startposition und dem Klassenobjekt HighlightOptions auf, um eine Hervorhebung aus dem Dokument als Objekt der Klasse HighlightItem zu extrahieren.
  • Rufen Sie schließlich die Methoden Highlight.getPosition() und HighlightItem.getText() auf, um die Position und den Text der Hervorhebung abzurufen.

Das folgende Codebeispiel zeigt, wie Sie mit Java eine Hervorhebung aus einem Dokument extrahieren.

// Erstellen Sie eine Instanz der Parser-Klasse
try (Parser parser = new Parser("C:\\Files\\sample.docx")) {
    // Highlight extrahieren:
    HighlightItem hl = parser.getHighlight(0, true, new HighlightOptions(8));
    // Überprüfen Sie, ob die Highlight-Extraktion unterstützt wird
    if (hl == null) {
        System.out.println("Highlight extraction isn't supported");
        return;
    }
    // Drucken Sie eine extrahierte Markierung
    System.out.println(String.format("At %d: %s", hl.getPosition(), hl.getText()));
}
At 0: Overview

Extrahieren Sie formatierten Text aus DOCX mit Java

Sie können Word-Dokumente analysieren und Text extrahieren, ohne die Stilformatierung zu verlieren, indem Sie die folgenden einfachen Schritte ausführen:

Das folgende Codebeispiel zeigt, wie Sie mithilfe von Java formatierten Text aus einer DOCX-Datei extrahieren.

// Erstellen Sie eine Instanz der Parser-Klasse
try (Parser parser = new Parser("C:\\Files\\sample.docx")) {
    // Extrahieren Sie einen formatierten Text in den Reader
    try (TextReader reader = parser.getFormattedText(new FormattedTextOptions(FormattedTextMode.Html))) {
        // Drucken Sie einen formatierten Text aus dem Dokument
        // Wenn die Extraktion von formatiertem Text nicht unterstützt wird, ist ein Reader null
        System.out.println(reader == null ? "Formatted text extraction isn't suppported" : reader.readToEnd());
    }
}
Extrahieren Sie formatierten Text aus DOCX mit Java

Extrahieren Sie formatierten Text aus DOCX mit Java

Extrahieren Sie Text nach Inhaltsverzeichnis mit Java

Sie können Text aus dem Dokument anhand des Inhaltsverzeichnisses extrahieren, indem Sie die folgenden einfachen Schritte ausführen:

  • Laden Sie zunächst die DOCX-Datei mit der Klasse Parser.
  • Rufen Sie dann die Methode Parser.getToc() auf, um ein Inhaltsverzeichnis als Sammlung von Objekten der Klasse TocItem zu extrahieren. Das TocItem stellt das Element dar, das in der Funktion zum Extrahieren des Inhaltsverzeichnisses verwendet wird.
  • Überprüfen Sie nun, ob die Sammlung nicht null ist.
  • Iterieren Sie dann über die Sammlung von TocItem und rufen Sie die Methode TocItem.extractText() auf, um Text aus dem Dokument zu extrahieren, auf das sich das Objekt TocItem bezieht.
  • Rufen Sie Ergebnisse im Klassenobjekt TextReader ab.
  • Rufen Sie schließlich die Methode TextReader.readToEnd() auf, um den gesamten Text zu lesen.

Das folgende Codebeispiel zeigt, wie Sie mithilfe von Java Text anhand des Inhaltsverzeichnisses aus Word-Dokumenten extrahieren.

// Erstellen Sie eine Instanz der Parser-Klasse
try (Parser parser = new Parser("C:\\Files\\sampleTOC.docx")) {
    // Inhaltsverzeichnis erhalten
    Iterable<TocItem> tocItems = parser.getToc();
    // Überprüfen Sie, ob die Toc-Extraktion unterstützt wird
    if (tocItems == null) {
        System.out.println("Table of contents extraction isn't supported");
    }
    else
    {
        // Elemente iterieren
        for (TocItem tocItem : tocItems) {
            // Drucken Sie den Text des Kapitels
            try (TextReader reader = tocItem.extractText()) {
                System.out.println("----");
                System.out.println(reader.readToEnd());
            }
        }
    }
}
Extrahieren Sie Text nach Inhaltsverzeichnis mit Java

Extrahieren Sie Text nach Inhaltsverzeichnis mit Java

Holen Sie sich eine kostenlose Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit Java Text aus Word-Dokumenten extrahieren. Außerdem haben Sie gesehen, wie Sie formatierten Text programmgesteuert aus einer DOCX-Datei extrahieren. In diesem Artikel wurde auch erläutert, wie Sie Text anhand des Inhaltsverzeichnisses extrahieren und eine Hervorhebung aus einem Dokument extrahieren. Außerdem können Sie in der Dokumentation mehr über GroupDocs.Parser for Java API erfahren. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch