Apache Tika 不提取 RTF 文件的第一行,它只提取第一行的最后三个字符。

Apache Tika do not extract first line of the RTF file, It only extract last three char of first line.

我已经在comment.Copy文本编辑器中添加了RTF文件并保存为RTF格式。

BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
FileInputStream inputstream = new FileInputStream(new File("level1Missing.rtf"));
ParseContext pcontext = new ParseContext();
RTFParser rt = new RTFParser();
rt.parse(inputstream, handler, metadata, pcontext);
//getting the content of the document
System.out.println("Contents of the PDF :\n\n" + handler.toString());

在我看来,Apache Tika 没有问题。关键性在rtf文件中;在{\line {\b Level1} : \par}之前少了\par

您可以尝试使用另一个简单的文件:

{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\par
This is some {\b bold} text.\par
}

如果您在 This is some {\b bold} text.\par 之前删除 \par,tika 将提取第一行的最后一个字符。