富文本编辑器实现从word中复制图片(外挂)
1问题 基于web的富文本编辑器的功能普遍较弱,而word是公认的宇宙第一好用的文档编辑器,所以许多人都习惯先在word中编辑,然后再将内容粘到web富文本编辑器中。 但是,这种操作有一个问题:图片带不过来,无法显示。如下所示。 我找到了一个方法来解决这个问题。 2 测试环境 summernote 0.8.18 office 2013 java 8 jsoup 1.7.2 3 原理 当我们按ctrl+c复制word中的图文内容时,在系统的剪切板中会生成了一个类型为HTML的条目。这个条目的内容类似于: 如上图所示,在运行期间word会将图片释放至某个临时目录,src使用的是file协议。 由于web编辑器可以识别data协议,所以我们可以将img的src由file:改为data:image/png;base64,然后将修改后的新内容复制至剪切板。这样就解决了问题。 这种方式很像游戏中的外挂。 4 关键代码 1 /** 2 * 3 */ 4 private void handle() { 5 try { 6 // 从剪切板中复制内容 7 Clipboard clipboard = Clipboard.getSystemClipboard(); 8 String html = clipboard.getHtml(); 9 textArea1.setText