将文本从Microsoft Word复制到JTextPane

时间:2014-06-06 12:30:01

标签: java swing ms-word jtextpane htmleditorkit

我有一个使用JTextPane创建的文本编辑器。文本存储在html中,因此我将HtmlEditorKit与JTextPane一起使用。用户希望能够将Microsoft Word文档中的文本复制到文本编辑器中。现在,当他们尝试将文本复制到编辑器中时,它根本不执行任何操作,并且文本不会出现。但是当他们从记事本复制时,它确实有效。

是否有关于JTextPane或HtmlEditorKit(或HtmlDocument)的内容不允许插入Word等程序中的文本?
有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

这是一个复杂的问题。

Word使用不同的格式将文本复制到剪贴板:text / plain,text / html,text / rtf以及Word的内部格式。所有这些格式都在剪贴板中同时进行。因此,您可以使用它们中的每一个粘贴到文本窗格中。您的文本窗格尝试使用HTML格式从剪贴板插入文本。问题是:HTMLEditorKit无法理解Word生成的HTML方言。

你能做什么?如果您不需要支持格式化文本,则可以实现自己的粘贴操作,该操作使用文本/平面格式。对于另一种情况,我没有直接的解决方案,除了你可以编写自己的HTML(或RTF)解析器,它支持Word生成的HTML。