2013-07-11 7 views
6

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

+0

możesz spróbować użyć [tej logiki Word-VBA] (http://stackoverflow.com/a/5160803/2143262) (jeśli to możliwe w java) ... –

Odpowiedz