Java Apache POI czytaj plik Word (.doc) i używaj nazwanych stylów

Próbuję odczytać dokument programu Microsoft Word 2003 (.doc) przy użyciu poi-scratchpad-3.8 (HWPF). Muszę albo odczytać słowo plik po słowie, albo znak po znaku. Tak czy inaczej jest w porządku dla tego, czego potrzebuję. Po przeczytaniu znaku lub słowa muszę uzyskać nazwę stylu, która jest stosowana do słowa / znaku. Pytanie brzmi, jak uzyskać nazwę stylu dla słowa lub znaku podczas czytania pliku .doc?

EDYTOWAĆ

Dodaję kod, którego próbowałem użyć. Jeśli ktoś chce spróbować, powodzenia.

private void processDoc(String path) throws Exception {
    System.out.println(path);
    POIFSFileSystem fis = new POIFSFileSystem(new FileInputStream(path));
    HWPFDocument wdDoc = new HWPFDocument(fis);

    // list all style names and indexes in stylesheet
    for (int j = 0; j < wdDoc.getStyleSheet().numStyles(); j++) {
        if (wdDoc.getStyleSheet().getStyleDescription(j) != null) {
            System.out.println(j + ": " + wdDoc.getStyleSheet().getStyleDescription(j).getName());
        } else {
            // getStyleDescription returned null
            System.out.println(j + ": " + null);
        }
    }

    // set range for entire document
    Range range = wdDoc.getRange();

    // loop through all paragraphs in range
    for (int i = 0; i < range.numParagraphs(); i++) {
        Paragraph p = range.getParagraph(i);

        // check if style index is greater than total number of styles
        if (wdDoc.getStyleSheet().numStyles() > p.getStyleIndex()) {
            System.out.println(wdDoc.getStyleSheet().numStyles() + " -> " + p.getStyleIndex());
            StyleDescription style = wdDoc.getStyleSheet().getStyleDescription(p.getStyleIndex());
            String styleName = style.getName();
            // write style name and associated text
            System.out.println(styleName + " -> " + p.text());
        } else {
            System.out.println("\n" + wdDoc.getStyleSheet().numStyles() + " ----> " + p.getStyleIndex());
        }
    }

questionAnswers(1)

yourAnswerToTheQuestion