2013-07-11 18 views
6

Ben Ancak 2. bir yazı vardır Word dokümanında şey bulunup bulunmadığını belirten, bunu yapmak mümkün olmamıştır öğrenmek için çalışıyorum. Başlamak için, sadece bir satır ve 7 kelime içeren bir örnek kelime belgesindeki her kelimenin yazı tipini okumaya çalıştım. Doğru sonuçları alamıyorum.POI kullanarak sözcük belgesindeki her kelimenin yazı tipi boyutu nasıl okunur?

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

Ancak, yukarıda kod hep yazı tipi boyutunu iki katına:

İşte benim kodudur. yani belgedeki gerçek yazı tipi boyutu 12, daha sonra 24 verir ve gerçek yazı 8 ise, o zaman, bu bir kelime belgeden yazı tipi boyutunu okumak için doğru bir şekilde mi 16.

verir ise, ??

+0

muhtemelen kullanmayı deneyebilirsiniz [Bu Kelime-VBA mantık] (http://stackoverflow.com/a/5160803/2143262) (java mümkünse) ... –

cevap

İlgili konular