实现word在线预览和编辑 |
您所在的位置:网站首页 › world在线预览 › 实现word在线预览和编辑 |
目的
实现word文件的预览以及简单的在线编辑 工具ckeditor5是一款富文本编辑器,它可以实现常用word的操作,下载安装网上一大堆就不再这细说了。 原理ckeditor可以提前使用setData函数载入数据,但如果直接载入word格式的文件会把word文件的特征消失掉,但通过研究发现他其中的数据最后是转换成HTML格式输出,那么直接输入HTML格式就能完整的显示了,而且能实时的更改。 java的poi包,poi是第三方包可以针对word文档进行一系列的操作,现在我要用到的是html与word的转换。 实现 前端代码 Title function f() {//向后端发送请求 var xhttp= new XMLHttpRequest(); xhttp.onreadystatechange=function(){ if (this.readyState == 4 && this.status == 200){ myEditor.setData(this.responseText)//后端返回HTML字符串 } } xhttp.open("post","/返回文件",true); xhttp.send(); } function f1() { } //编辑器 //改成中文 var myEditor = null;//先设置一个全局变量 ClassicEditor .create( document.querySelector( '#editor' ) ,{ language: 'zh-cn',//设置成中文 } ) .then(editor=>{ myEditor=editor;//获得编辑器对象 }) .catch( error => { console.error( error ); } ); 后端代码框架spring boot @PostMapping("/返回文件") public String 返回文件() throws IOException { //获取要访问的文件 File file = new File("E:\\测试\\云盘\\src\\main\\resources\\templates\\ckeditor5-build-classic\\市场调研报告.docx"); FileInputStream fileInputStream= new FileInputStream(file);//获取文件的字符流 XWPFDocument re = new XWPFDocument(fileInputStream);//docx格式要求 StringWriter stringWriter = new StringWriter();//创建一个新的字符流对象 XHTMLConverter xhtmlConverter = (XHTMLConverter)XHTMLConverter.getInstance(); XHTMLOptions options = XHTMLOptions.getDefault(); xhtmlConverter.convert(re, stringWriter,options);//注入 String html = new String (stringWriter.toString().getBytes("utf-8"),"utf-8");编码赋值 System.out.println(html);//显示 re.close(); return html;//返回给前端 } 展示字体格式,间距都保存了下来。可以在线编辑保存就在把HTML转换成word就行。Java新手,不足还请多多指教😀 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |