【发布时间】:2011-06-29 20:34:39
【问题描述】:
如何从 microsoft word 文档中读取 word cmets (Annotation)?
如果可能,请提供一些示例代码...
谢谢你...
【问题讨论】:
-
我想阅读 97/2003/xp 和 2007 word 文件中的评论...
标签: java apache ms-word document
如何从 microsoft word 文档中读取 word cmets (Annotation)?
如果可能,请提供一些示例代码...
谢谢你...
【问题讨论】:
标签: java apache ms-word document
终于找到答案了
这里是代码 sn-p ...
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();
}
我正在使用 Poi poi-3.5-beta7-20090719.jar、poi-scratchpad-3.5-beta7-20090717.jar。如果您希望使用基于 OpenXML 的文件格式,则需要其他档案 - poi-ooxml-3.5-beta7-20090717.jar 和 poi-dependencies-3.5-beta7-20090717.zip。
感谢 Mark B 的帮助,他确实找到了这个解决方案 ....
【讨论】:
获取HWPFDocument 对象(例如,通过在输入流中传递 Word 文档)。
然后您可以通过getSummaryInformation() 获取摘要,这将通过getSummary() 为您提供SummaryInformation 对象
【讨论】:
【讨论】:
我也是 apache poi 的新手。听说我的程序运行良好,这个程序将单词形式的文档提取为文本...我希望这个程序能在你运行这个程序之前帮助你,你可以在你的类路径中设置相应的 lib 文件。
/*
* 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();
}
}
}
【讨论】: