Wyodrębnij tekst z dokumentów programu Word przy użyciu języka Java

W niektórych przypadkach może być konieczne wyodrębnienie tekstu z dokumentów programu Word do różnych celów. Jako programista Java możesz łatwo programowo wyodrębnić tekst z plików DOC lub DOCX. W tym artykule dowiesz się, jak wyodrębnić tekst z dokumentów programu Word przy użyciu języka Java.

W tym artykule omówiono/omówiono następujące tematy:

API Java do wyodrębniania tekstu z dokumentów programu Word

Do wyodrębnienia tekstu z plików DOC lub DOCX wykorzystamy API GroupDocs.Parser for Java. Umożliwia wyodrębnianie tekstu, metadanych i obrazów z popularnych formatów plików Word, PDF, Excel i PowerPoint. Obsługuje także wyodrębnianie tekstu surowego, sformatowanego i strukturalnego z plików obsługiwanych formatów.

Możesz pobrać plik JAR interfejsu API lub po prostu dodać następującą konfigurację pom.xml do swojej aplikacji Java opartej na Maven, aby wypróbować poniższe przykłady kodu.

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

Wyodrębnij tekst z dokumentów programu Word przy użyciu języka Java

Możesz analizować dowolny dokument programu Word i wyodrębniać tekst, wykonując proste kroki wymienione poniżej:

  • Najpierw załaduj plik DOCX przy użyciu klasy Parser.
  • Następnie wywołaj metodę Parser.getText(), aby wyodrębnić tekst z załadowanego dokumentu.
  • Uzyskaj wyniki metody Parser.getText() w obiekcie klasy TextReader.
  • Na koniec wywołaj metodę TextReader.readToEnd() , aby odczytać wszystkie znaki od bieżącej pozycji do końca czytnika tekstu i zwrócić je jako jeden ciąg.

Poniższy przykładowy kod pokazuje, jak wyodrębnić tekst z pliku DOCX przy użyciu języka Java.

// Utwórz instancję klasy Parser
Parser parser = new Parser("C:\\Files\\sample.docx");

// Wyodrębnij surowy tekst do czytnika
try (TextReader reader = parser.getText()) {
    // Wydrukuj tekst z dokumentu
    // Jeśli wyodrębnianie tekstu nie jest obsługiwane, czytnik ma wartość null
    System.out.println(reader == null ? "Text extraction isn't supported" : reader.readToEnd());
}
Wyodrębnij tekst z dokumentów programu Word przy użyciu języka Java

Wyodrębnij tekst z dokumentów programu Word przy użyciu języka Java

Wyodrębnij tekst z określonych stron dokumentu programu Word za pomocą języka Java

Możesz analizować dokument programu Word i wyodrębniać tekst z określonej strony, wykonując proste kroki wymienione poniżej:

Poniższy przykładowy kod pokazuje, jak wyodrębnić tekst ze stron jedna po drugiej przy użyciu języka Java.

// Utwórz instancję klasy Parser
Parser parser = new Parser("C:\\Files\\sample.docx");

// Sprawdź, czy dokument obsługuje wyodrębnianie tekstu
if (!parser.getFeatures().isText()) {
    System.out.println("The document doesn't support text extraction.");
    return;
}

// Uzyskaj informacje o dokumencie
IDocumentInfo documentInfo = parser.getDocumentInfo();

// Sprawdź, czy dokument ma strony
if (documentInfo.getPageCount() == 0) {
    System.out.println("The document has zero pages.");
    return;
}

// Iteruj po stronach
for (int p = 0; p < documentInfo.getPageCount(); p++) {
    // Wydrukuj numer strony
    System.out.println(String.format("Page number: %d/%d", p + 1, documentInfo.getPageCount()));
    // Wyodrębnij tekst do czytnika
    try (TextReader reader = parser.getText(p)) {
        // Wydrukuj tekst z dokumentu
        // Ignorujemy sprawdzanie wartości null, ponieważ wcześniej sprawdziliśmy obsługę funkcji wyodrębniania tekstu
        System.out.println(reader.readToEnd());
    }
}
Wyodrębnij tekst z określonych stron dokumentu za pomocą języka Java

Wyodrębnij tekst z określonych stron dokumentu za pomocą języka Java

Uzyskaj wyróżnienie z dokumentów programu Word przy użyciu języka Java

Wyróżnienie to część tekstu, która zwykle służy do wyjaśnienia kontekstu znalezionego tekstu w funkcji wyszukiwania. Możesz wyodrębnić zaznaczenie z dokumentu, wykonując proste kroki wymienione poniżej:

Poniższy przykładowy kod pokazuje, jak wyodrębnić wyróżnienie z dokumentu przy użyciu języka Java.

// Utwórz instancję klasy Parser
try (Parser parser = new Parser("C:\\Files\\sample.docx")) {
    // Wyodrębnij najważniejsze wydarzenie:
    HighlightItem hl = parser.getHighlight(0, true, new HighlightOptions(8));
    // Sprawdź, czy obsługiwane jest wyodrębnianie podświetlenia
    if (hl == null) {
        System.out.println("Highlight extraction isn't supported");
        return;
    }
    // Wydrukuj wyodrębnione wyróżnienie
    System.out.println(String.format("At %d: %s", hl.getPosition(), hl.getText()));
}
At 0: Overview

Wyodrębnij sformatowany tekst z DOCX za pomocą Java

Możesz analizować dokumenty programu Word i wyodrębniać tekst bez utraty formatowania stylu, wykonując proste kroki wymienione poniżej:

Poniższy przykładowy kod pokazuje, jak wyodrębnić sformatowany tekst z pliku DOCX przy użyciu języka Java.

// Utwórz instancję klasy Parser
try (Parser parser = new Parser("C:\\Files\\sample.docx")) {
    // Wyodrębnij sformatowany tekst do czytnika
    try (TextReader reader = parser.getFormattedText(new FormattedTextOptions(FormattedTextMode.Html))) {
        // Wydrukuj sformatowany tekst z dokumentu
        // Jeśli wyodrębnianie sformatowanego tekstu nie jest obsługiwane, czytnik ma wartość null
        System.out.println(reader == null ? "Formatted text extraction isn't suppported" : reader.readToEnd());
    }
}
Wyodrębnij sformatowany tekst z DOCX za pomocą Java

Wyodrębnij sformatowany tekst z DOCX za pomocą Java

Wyodrębnij tekst według spisu treści za pomocą języka Java

Możesz wyodrębnić tekst z dokumentu według spisu treści, wykonując proste kroki wymienione poniżej:

  • Najpierw załaduj plik DOCX przy użyciu klasy Parser.
  • Następnie wywołaj metodę Parser.getToc(), aby wyodrębnić spis treści w postaci kolekcji obiektów klasy TocItem. TocItem reprezentuje element używany w funkcji wyodrębniania spisu treści.
  • Teraz sprawdź, czy kolekcja nie ma wartości null.
  • Następnie wykonaj iterację po kolekcji TocItem i wywołaj metodę TocItem.extractText(), aby wyodrębnić tekst z dokumentu, do którego odnosi się obiekt TocItem.
  • Uzyskaj wyniki w obiekcie klasy TextReader.
  • Na koniec wywołaj metodę TextReader.readToEnd(), aby przeczytać cały tekst.

Poniższy przykładowy kod pokazuje, jak wyodrębnić tekst według spisu treści z dokumentów programu Word przy użyciu języka Java.

// Utwórz instancję klasy Parser
try (Parser parser = new Parser("C:\\Files\\sampleTOC.docx")) {
    // Pobierz spis treści
    Iterable<TocItem> tocItems = parser.getToc();
    // Sprawdź, czy obsługiwane jest wyodrębnianie toc
    if (tocItems == null) {
        System.out.println("Table of contents extraction isn't supported");
    }
    else
    {
        // Iteruj po elementach
       for (TocItem tocItem : tocItems) {
            // Wydrukuj tekst rozdziału
            try (TextReader reader = tocItem.extractText()) {
                System.out.println("----");
                System.out.println(reader.readToEnd());
            }
        }
    }
}
Wyodrębnij tekst według spisu treści za pomocą języka Java

Wyodrębnij tekst według spisu treści za pomocą języka Java

Zdobądź bezpłatną licencję

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się wyodrębniać tekst z dokumentów programu Word przy użyciu języka Java. Co więcej, widziałeś, jak programowo wyodrębnić sformatowany tekst z pliku DOCX. W tym artykule wyjaśniono również, jak wyodrębnić tekst na podstawie spisu treści i wyodrębnić najważniejsze informacje z dokumentu. Poza tym możesz dowiedzieć się więcej o GroupDocs.Parser for Java API, korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też