2013-07-11 34 views
6

我想知道是否在字體爲2的word文檔中存在任何東西。但是,我一直無法做到這一點。首先,我嘗試讀取僅包含一行和七個單詞的示例單詞文檔中每個單詞的字體。我沒有得到正確的結果。如何使用POI讀取word文檔中每個單詞的字體大小?

這裏是我的代碼:

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

然而,上面的代碼總是加倍的字體大小。即,如果文檔中的實際字體大小是12,那麼它輸出24,如果實際字體是8,那麼它輸出16.

這是從字文檔中讀取字體大小的正確方法嗎?

+0

你可能會嘗試使用[這個Word-VBA邏輯](http://stackoverflow.com/a/5160803/2143262)(如果可能在java中)... –

回答

相關問題