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
- Extrahieren Sie Text aus Word-Dokumenten mit Java
- Extrahieren Sie Text aus bestimmten Seiten eines Word-Dokuments mit Java
- Holen Sie sich Highlight aus Word-Dokumenten mit Java
- Extrahieren Sie formatierten Text aus DOCX mit Java
- Extrahieren Sie Text nach Inhaltsverzeichnis mit Java
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 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:
- Laden Sie zunächst die DOCX-Datei mit der Klasse Parser.
- Verwenden Sie dann Parser.getFeatures().isText(), um zu prüfen, ob das Dokument die Textextraktionsfunktion unterstützt. Lesen Sie mehr über unterstützte Funktionen.
- Rufen Sie nun die Methode Parser.getDocumentInfo() auf, um die allgemeinen Informationen über das Dokument zu erhalten. Wie Dateityp, Seitenanzahl, Größe usw.
- Rufen Sie die Ergebnisse der Methode Parser.getDocumentInfo() im Schnittstellenobjekt IDocumentInfo ab.
- Prüfen Sie dann, ob IDocumentInfo.getPageCount() nicht Null ist. Diese Methode gibt die Gesamtzahl der Dokumentseiten zurück.
- Iterieren Sie über alle Seiten und rufen Sie die Methode Parser.getText() für jeden Seitenindex auf, um Text zu extrahieren und Ergebnisse im Klassenobjekt TextReader zu erhalten.
- Zeigen Sie schließlich die Ergebnisse an, indem Sie die Methode TextReader.readToEnd() aufrufen, um den extrahierten Text zu lesen.
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());
}
}
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:
- Laden Sie zunächst die DOCX-Datei mit der Klasse Parser.
- Definieren Sie die FormattedTextOptions und setzen Sie den FormattedTextMode auf HTML. Es ermöglicht Ihnen, einen HTML-formatierten Text aus dem Dokument zu extrahieren.
- Rufen Sie dann die Methode Parser.getFormattedText() auf, um formatierten Text zu extrahieren.
- Rufen Sie die Ergebnisse der Methode Parser.getText() 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 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 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());
}
}
}
}
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.