Próbuję dowiedzieć się, czy istnieje coś w dokumencie programu Word, który ma czcionkę 2. Jednak nie byłem w stanie tego zrobić. Na początek próbowałem przeczytać czcionkę każdego słowa w przykładowym dokumencie tekstowym, który ma tylko jeden wiersz i 7 słów. Nie otrzymuję prawidłowych wyników.Jak odczytać rozmiar czcionki każdego słowa w dokumencie tekstowym za pomocą POI?
Oto mój kod:
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;
}
}
Jednakże powyższy kod zawsze podwaja rozmiar czcionki. to znaczy, jeśli rzeczywisty rozmiar czcionki w dokumencie wynosi 12, to wyprowadza 24, a jeśli aktualna jest 8, to generuje 16.
Czy to jest właściwy sposób odczytu rozmiaru czcionki z dokumentu tekstowego ??
możesz spróbować użyć [tej logiki Word-VBA] (http://stackoverflow.com/a/5160803/2143262) (jeśli to możliwe w java) ... –