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 将提取第一行的最后一个字符。
我已经在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 将提取第一行的最后一个字符。