Wie lese ich die Schriftgröße jedes Wortes in einem Word-Dokument mit dem POI?

Ich versuche herauszufinden, ob im Word-Dokument etwas mit der Schriftart 2 vorhanden ist. Dies konnte ich jedoch nicht. Zunächst habe ich versucht, die Schriftart jedes Wortes in einem Beispielwortdokument zu lesen, das nur eine Zeile und 7 Wörter enthält. Ich erhalte nicht die richtigen Ergebnisse.

Hier ist mein Code:

HWPFDocument doc = new HWPFDocument (fileStream);
WordExtractor we = new WordExtractor(doc);
Range range = doc.getRange()
String[] paragraphs = we.getParagraphText();
for (int i = 0; i < paragraphs.length; i++) {
  Paragraph pr = range.getParagraph(i);
  int k = 0
  while (true) {
     CharacterRun run = pr.getCharacterRun(k++);
     System.out.println("Color: " + run.getColor());
     System.out.println("Font: " + run.getFontName());
     System.out.println("Font Size: " + run.getFontSize());
     if (run.getEndOffSet() == pr.getEndOffSet())
       break;
  }
}

Der obige Code verdoppelt jedoch immer die Schriftgröße. wenn die tatsächliche Schriftgröße in dem Dokument 12 ist, gibt es 24 aus und wenn die tatsächliche Schrift 8 ist, gibt es 16 aus.

Ist dies die richtige Art, die Schriftgröße aus einem Word-Dokument zu lesen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage