关于java:将文本从Microsoft Word复制到JTextPane
Copying text from Microsoft Word into JTextPane
我有一个使用 JTextPane 创建的文本编辑器。文本存储在 html 中,因此我将 HtmlEditorKit 与 JTextPane 一起使用。用户希望能够将 Microsoft Word 文档中的文本复制到文本编辑器中。现在,当他们尝试将文本复制到编辑器中时,它什么也不做,文本也不会出现。但是当他们从记事本复制时,它确实有效。
JTextPane 或 HtmlEditorKit(或 HtmlDocument)是否存在不允许插入 Word 等程序中的文本?
有没有办法解决这个问题?
相关讨论
- 搜索关于
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); -
您是否尝试使用 Word 的
selection 对象?有了它,您可以以编程方式选择文档中的范围,然后将所选文本复制到剪贴板。MSDN 链接 - 请在 stackoverflow.com/questions/15611562/... 上查看答案
嗯,这是一个复杂的问题。
Word 使用不同的格式将文本复制到剪贴板:text/plain、text/html、text/rtf 和可能是 Word 的内部格式。所有这些格式都在剪贴板中。因此,您可以使用它们中的每一个粘贴到您的文本窗格中。您的文本窗格尝试使用 HTML 格式从剪贴板插入文本。问题是:HTMLEditorKit 无法理解 Word 生成的 HTML 方言。
你能做什么?如果您不需要支持格式化文本,您可以实现自己的粘贴操作,它使用文本/平面格式。对于另一种情况,我没有直接的解决方案,除非您可以编写自己的支持 Word 生成的 HTML 的 HTML(或 RTF)解析器。
THE END
二维码