关于java:将文本从Microsoft Word复制到JTextPane

Copying text from Microsoft Word into JTextPane

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

JTextPane 或 HtmlEditorKit(或 HtmlDocument)是否存在不允许插入 Word 等程序中的文本?
有没有办法解决这个问题?


嗯,这是一个复杂的问题。

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

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