views:

591

answers:

4

How to Read word comments (Annotation) from microsoft word document ?

please provide some example code if possible ...

Thanking you ...

A: 

Get the HWPFDocument object (by passing a Word document in an input stream, say).

Then you can get the summary via getSummaryInformation(), and that will give you a SummaryInformation object via getSummary()

Brian Agnew
Thanks a lot Brian ...
Bihag Raval
Cool. Did that work?
Brian Agnew
I didn't try but will let u know about it ...
Bihag Raval
Sorry to say but it's not working ... it's returning null ... Actually what I want is word comment ( Annotation ), I think what getSummary() , getComment() is returning something else ... anyways thanks for all ...
Bihag Raval
A: 

Finally, I found the answer

here is the code snippet ...

    File file = null;
 FileInputStream fis = null;
 HWPFDocument document = null;
 Range commentRange = null;
 try {
  file = new File(fileName);
  fis = new FileInputStream(file);
  document = new HWPFDocument(fis);
  commentRange = document.getCommentsRange();
  int numComments = commentRange.numParagraphs();
  for (int i = 0; i < numComments; i++) {
   String comments = commentRange.getParagraph(i).text();
   comments = comments.replaceAll("\\cM?\r?\n", "").trim();
   if (!comments.equals("")) {
    System.out.println("comment :-  " + comments);
   }
  }
 } catch (Exception e) {
  e.printStackTrace();
 }

I am using Poi poi-3.5-beta7-20090719.jar, poi-scratchpad-3.5-beta7-20090717.jar. The other archives - poi-ooxml-3.5-beta7-20090717.jar and poi-dependencies-3.5-beta7-20090717.zip - will be needed if you are hoping to work on the OpenXML based file formats.

I appreciate the help of Mark B who actually found this solution ....

Bihag Raval
A: 

Please refer the following link,it may fulfill yr requirements...

http://bihag.wordpress.com/2009/11/04/how-to-read-comments-from-word-with-poi-jav/#comment-13

vani
A: 

Hi....Am also new to apache poi. Hear is my program its working fine this program extract word form doc to text...I hope this program will help u before u run this program u can set corresponding lib files in your classpath.

/* * FileExtract.java * * Created on April 12, 2010, 9:46 AM * * To change this template, choose Tools | Template Manager * and open the template in the editor. / import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.rtf.RTFEditorKit; import java.io.; import org.apache.poi.POIOLE2TextExtractor.; import org.apache.poi.POIOLE2TextExtractor; import org.apache.poi.POITextExtractor; import org.apache.poi.extractor.ExtractorFactory; import org.apache.poi.hdgf.extractor.VisioTextExtractor; import org.apache.poi.hslf.extractor.PowerPointExtractor; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hwpf.extractor.WordExtractor; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.ss.extractor.ExcelExtractor; import org.apache.poi.xwpf.extractor.XWPFWordExtractor; import javax.swing.text.Document; /* * * @author ChandraMouil V / public class RtfDocTextExtract { /* Creates a new instance of FileExtract */ static String filePath; static String rtfFile; static FileInputStream fis; static int x=0; public RtfDocTextExtract() { } //This function for .DOC File public static void meth(String filePath) { try { if(x!=0){ fis = new FileInputStream("D:/DummyRichTextFormat.doc"); POIFSFileSystem fileSystem = new POIFSFileSystem(fis); WordExtractor oleTextExtractor = (WordExtractor) ExtractorFactory.createExtractor(fileSystem); String[] paragraphText = oleTextExtractor.getParagraphText(); FileWriter fw = new FileWriter("E:/resume-template.txt"); for (String paragraph : paragraphText) { fw.write(paragraph); } fw.flush(); } }catch(Exception e){ e.printStackTrace(); } } }

Mouli
Please put your code in the code block, right now its just a wall of text
TheLQ