2013-07-11 16 views
6

Sto cercando di scoprire se esiste qualcosa nella parola documento che ha un font di 2. Tuttavia, non sono stato in grado di farlo. Per cominciare, ho provato a leggere il carattere di ogni parola in un documento di parole di esempio che ha solo una riga e 7 parole. Non sto ottenendo i risultati corretti.Come leggere la dimensione del carattere di ogni parola in un documento word utilizzando il POI?

Ecco il mio codice:

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

Tuttavia, il codice sopra raddoppia sempre la dimensione del carattere. Ad esempio, se la dimensione del carattere reale nel documento è 12, viene emesso 24 e se il carattere effettivo è 8, viene emesso 16.

È questo il modo corretto di leggere la dimensione del carattere da un documento word?

+0

si potrebbe provare a utilizzare [questa logica Word-VBA] (http://stackoverflow.com/a/5160803/2143262) (se possibile in Java) ... –

risposta