2009-07-13 10 views
0

Comment lire les commentaires de mot (annotation) à partir du document Microsoft Word?comment lire les commentaires dans le document Word de Apache Poi?

s'il vous plaît fournir quelques exemples de code si possible ...

vous Remerciant ...

+0

Les documents Word peuvent prendre de nombreuses formes. Pouvez-vous préciser quel type de document Word vous voulez lire? Word 97/2003 .doc, Word 2007 XML etc. –

+0

Je veux lire le commentaire de 97/2003/xp et 2007 fichiers de mots ... – Garudadwajan

Répondre

2

Enfin, j'ai trouvé la réponse

est ici l'extrait de code ...

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

J'utilise Poi poi-3.5-beta7-20090719.jar, poi-scratchpad-3.5-beta7-20090717.jar. Les autres archives - poi-ooxml-3.5-beta7-20090717.jar et poi-dependencies-3.5-beta7-20090717.zip - seront nécessaires si vous espérez travailler sur les formats de fichiers basés sur OpenXML.

J'apprécie l'aide de Mark B qui en fait trouvé cette solution ....

0

obtenir l'objet HWPFDocument (par le passage d'un document Word dans un flux d'entrée, par exemple).

Ensuite, vous pouvez obtenir le résumé via getSummaryInformation(), et que vous donnera un objet SummaryInformation via getSummary()

+0

Merci beaucoup Brian ... – Garudadwajan

+0

Cool. Est-ce que ça a marché? –

+0

Je n'ai pas essayé mais je vais vous le faire savoir ... – Garudadwajan

0

Am aussi nouveau à apache poi. Entendre mon programme c'est bien fonctionner ce programme extraire le mot forme doc au texte ... J'espère que ce programme vous aidera avant de lancer ce programme vous pouvez définir les fichiers lib correspondants dans votre 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(); 
     } 
    } 
} 
+0

S'il vous plaît mettez votre code dans le bloc de code, en ce moment c'est juste un mur de texte – TheLQ

Questions connexes