我尝试使用 Apache POI 读取 rtf 文件,但我发现它存在问题。它报告 Invalid Header 异常。POI 似乎不支持 rtf 文件。有没有办法使用任何开源 java API读取 .rtf 。(我听说过 Aspose API,但它不是免费的)
有什么解决办法??
我尝试使用 Apache POI 读取 rtf 文件,但我发现它存在问题。它报告 Invalid Header 异常。POI 似乎不支持 rtf 文件。有没有办法使用任何开源 java API读取 .rtf 。(我听说过 Aspose API,但它不是免费的)
有什么解决办法??
你可以试试RTFEditorKit。它也支持图像和文本。
或者看看这个答案:Java API to convert RTF file to Word document (97-2003 format)
没有免费的图书馆支持这一点。但是自己创建一个基本的比较函数可能并不难。你可以读入一个 rtf 文件,然后像这样提取文本:
// read rtf from file
JEditorPane p = new JEditorPane();
p.setContentType("text/rtf");
EditorKit rtfKit = p.getEditorKitForContentType("text/rtf");
rtfKit.read(new FileReader(fileName), p.getDocument(), 0);
rtfKit = null;
// convert to text
EditorKit txtKit = p.getEditorKitForContentType("text/plain");
Writer writer = new StringWriter();
txtKit.write(writer, p.getDocument(), 0, p.getDocument().getLength());
String documentText = writer.toString();