javaweb项目怎么实现在线编辑合同宓墓δ

Python016

javaweb项目怎么实现在线编辑合同宓墓δ,第1张

其实就是Word在线编辑吧。

一般来说两种途径。一种是利用插件,比如PageOffice。好处是服务端有一整套的开发接口,劣势是需要安装插件,客户端需要有Word等Office应用程序安装,不同的客户端环境不同可能造成后继使用过程中的维护量。

还有一种是无插件的方式,Office 365就是典型的,不过如果是私有化部署,就不能用Office 365了。

还有一个是uzer.me,能提供无插件的原生Office编辑,提供JS SDK和REST API,各种编程语言都能对接。好处是无插件,劣势是只支持webRTC的浏览器,比如火狐、谷歌,360极速等,反正IE是不支持的(听说最近IE也能支持,但是要装插件了)。

还有一种在线编辑,是采用类似Word的模式,而实际更多是一个富文本的编辑器,这个用HTML就可以实现,有一些开源的工具的。无非是把Word和H5要格式互转。这个可能对于合同来说,容易丢失格式。如果格式是固定的话,会简单一些。

可以用第三方服务接口实现,但安全性要好,文档不能泄露出去

poi里有个ExcelToHtmlConverter 和 WordToHtmlConverter

这是在网上找的一段代码我没试

HWPFDocumentCore wordDocument = WordToHtmlUtils.loadDoc(new FileInputStream("D:\\temp\\seo\\1.doc"))

WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(

DocumentBuilderFactory.newInstance().newDocumentBuilder()

.newDocument())

wordToHtmlConverter.processDocument(wordDocument)

Document htmlDocument = wordToHtmlConverter.getDocument()

ByteArrayOutputStream out = new ByteArrayOutputStream()

DOMSource domSource = new DOMSource(htmlDocument)

StreamResult streamResult = new StreamResult(out)

TransformerFactory tf = TransformerFactory.newInstance()

Transformer serializer = tf.newTransformer()

serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8")

serializer.setOutputProperty(OutputKeys.INDENT, "yes")

serializer.setOutputProperty(OutputKeys.METHOD, "html")

serializer.transform(domSource, streamResult)

out.close()

String result = new String(out.toByteArray())

System.out.println(result)

需求是在Java中处理Word文档还是要在网页中在线编辑文档?

如果是用Java处理Word文档,我记得有个库是Apache POI,功能还是蛮强大的。

如果要网页端在线编辑Word文档,推荐使用桐享EaaS,有SDK的。客户端无需安装Word,也无需安装插件。对用户来说非常方便,只要一个浏览器就可以了。