从rtf文件中提取原始文本

时间:2016-04-24 08:19:32

标签: java text apache-poi apache-tika text-extraction

曾几何时我使用apache POI来提取rtf文件。我实际上是在使用TXTParser类,因为我可以使用rtf的原始输出(文本中的所有格式)根据格式进行各种文本提取wizadry。

然后有一天它开始输出空白字符串,我不明白为什么。

public class TextParser {
//@SuppressWarnings({ "rawtypes", "unchecked" })
public TextParser() {
    // TODO Auto-generated constructor stub
}

public static void main(final String[] args) throws IOException,TikaException{
 //detecting the file type
 BodyContentHandler handler = new BodyContentHandler(-1);
 Metadata metadata = new Metadata();

 FileInputStream inputstream = new FileInputStream(new File("/Users/sebastianzeki/Documents/PhysJava/dance.rtf"));
 ParseContext pcontext = new ParseContext();
 //Text document parser
 TXTParser TXTParser = new TXTParser();
 try {
     TXTParser.parse(inputstream, handler, metadata,pcontext);

} catch (SAXException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} 
 //Some tidying up
 String s=handler.toString();
System.out.println(s);

我知道该文件没有任何问题,因为如果我使用另一个类(即RTFParser),我会得到整个文件。 HtmlParser将是一个替代方案,但只给我一半的文件返回。

任何人都可以提出另一种方法来获取rtf作为要求或修复这个奇怪的问题

0 个答案:

没有答案