java - Java 中用于比较两个 RTF 文件的开源 API

标签 java rtf

我找到了Aspose、iTextRTF资源。 Aspose 不是开源的。 iTextRTF 找不到包含 RtfWriter2 的 jar..? jRTF资源是否比较RTF文件..? 非常感谢您的帮助。提前致谢。

最佳答案

据我所知,没有免费的库支持此功能。但自己创建一个基本的比较函数可能并不难。您可以读取 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();

使用第二个编辑器套件中的text/plain仅提取文本(不带格式),使用text/html提取保留(大部分)格式的文本。编辑器工具包将忽略任何图像,因此您不必担心这一点。 对两个文件执行此操作,然后简单地比较两个文件生成的 html 或文本。

关于java - Java 中用于比较两个 RTF 文件的开源 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8700558/

相关文章:

java - 如何验证特定的类方法是否作为参数传递?

php - 如何用 PHP 生成 RTF

java - 如何在 Dropwizard 中使用 Quartz 调度程序进行 REST 调用?

java - Android 聊天在 DataSnapshot.getValue() 上崩溃

c# [Win form ] 如何更改richtextbox中仅选定文本的字体大小

unicode - 如何将 ANSI 文本转换为 Unicode?

HTML 到 RTF 转换

c# - 使用格式信息读取 word 文件内容(图像和文本)

java - 使用 .bat 文件执行 jar 文件

java - Cassandra 处理历史数据的最佳方式?