我们需要以纯文本形式获取 RTF 文档的内容。
我们使用了 RFTEditorKit,但我们需要处理的许多 RTF 文档都包含 \headerf 或其他 header 字段,而 RTFEditorKit 不会解析这些(默默地忽略)。
是否有另一种轻量级解决方案可以将这些文档解析为纯文本?
最佳答案
RTF 格式非常简单;编写自己的解析器应该不会花很长时间。否则,只需从 JDK 复制源代码并添加对缺失元素的支持(我说复制是因为根据经验,JDK 中的许多有用的类无法扩展)。
[编辑] 为了确保这不会成为维护的噩梦,请将源代码复制到 VCS 上的不同项目中。相应地标记版本(这样您就可以在下一个 Java 版本发布时轻松将其取出)。
然后创建依赖于第一个项目的第二个项目。分支您的第一个项目并进行扩展原始类所需的所有小更改。保持这些变化较小。例如,将方法和字段设为公共(public)/ protected 并删除 Final。这样,就可以轻松跟踪更改(因为您从不添加/删除行)。
与下一个版本的合并将变得很容易。所有繁重的工作都必须在您自己的项目中完成。
关于java - rtf 到文本,包括页眉和页脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1601423/