Java RTF 解析器

标签 java parsing rtf

有人知道我可以在 Java 中使用的强大的 RTF 解析器吗?我需要提取纯文本,包括国际文本。提取嵌入的图像和文件也很好。它也可以是我可以轻松调用的 C++ 或其他库,或者如果有好的源代码,我可以转换为 Java。

以下库没有涵盖足够多的 RTF,或者无法解析某些有效的 RTF

  1. Java Swing 的 RTFEditorKit,非常基础且脆弱 Apache Tikka、nutch 和许多其他工具都使用它。
  2. 来自 iText (com.lowagie.etc...) 的 RTF 库,不太全面
  3. etranslate rtf 库(这是最完整的 java 库) 不确定是否有更新版本,但我得到的版本在我的一些 rtf 集合上失败(RTF 是有效的,至少它们在 MsWord 和 OpenOffice 中打开 OK)。

有一个相当完整的 C# 库,但可惜......它是 C# 而不是 Java。 http://www.codeproject.com/Articles/27431/Writing-Your-Own-RTF-Converter

我还研究了 OpenOffice,虽然它可能非常全面,但它对于我需要的东西来说太慢了。

(在发布这个问题之前,我确实进行了网络搜索和堆栈溢出搜索,所以如果你指的是一个古老的“已经问过”的帖子,那里可能没有答案。但请随时指出,以防我错过了!)

最佳答案

您可能会发现 RTF Parser Kit有用。它提供了一个基于流的解析器,在解析文档时向您传送事件。提供了一个简单的示例文本提取器,它演示了如何使用 API。

关于Java RTF 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17223903/

相关文章:

java - 警告 : Action does not match allowed action names pattern, 清理它

java - 将日期字段插入数据库

java - 加载资源时"URI is not hierarchical"

java - 通过 Java 提交多个 hadoop 作业

c++ - 使用 win32 api 向 rich edit 控件添加格式

c# - 匹配值和国际字符

python - 正则表达式解析二进制文件?

c++ - Recursive Decent 解析器 (c++) 的编译问题

Java 字符串包含无关数据

html - rtf 和 html 可以存在于同一个应用程序中吗?