admin管理员组

文章数量:1530052

公司最近需要开发一个在线word功能,开始用pageoffice开发的功能被否决因为pageoffice的版权问题,后采用点聚weboffice的免费版开发.因为多个页面需要使用在线word功能,对于weboffice提供的activeX对象进行一定的封装,减少代码的冗余 和开发时的方便.
一 简单分析
weboffice是需要安装ocx控件来完成对本地word的调用,因为activex的原因,所以在IE上的兼容肯定比较好.由于技术和资源问题该实现不支持谷歌和火狐.
对于ocx控件可以提供两种安装方式,如果放在web服务器上的话,可以提供cab文件实现在线安装. 第二种方式,直接在客户端安装exe文件.
二 实现方式

首先需要成功调用activex对象,实现上图效果.因为activex obj的原因. 背景自己无法实现改变,别人说:可以通过iframe调整z-index效果,再配合js中object的param属性配置实现.但是尝试多次,无法实现,可能和IE版本有关系

a)新建文档
新建文档调用了封装的webofficeTool的createWord方法,因为开发时间原因没有提供完全的封装
只是使用了weboffice的LoadOriginalFile方法来打开服务器的模板文件,并且简单提供了提示消息.(本来打算改成bootstrap的tooltip来提示,后来因为web服务器样式原因需统一风格,还得修改N多的css样式来达到系统一致的风格而放弃)

加载成功后效果

因为word的滚动和 浏览器滚动效果的不一致,和高度的控制, 统一放置在iframe中实现控制

直接滚动iframe来实现操作word的浏览,同时放出weboffice的全屏功能,方便编辑文档的方便.因为全屏时开发完成后提的功能,当时没有详细研究文档中是否有具体接口所以直接把菜单栏隐藏的全屏功能放出来使用 ,具体还有打印和打印预览 另存为等等可以查看weboffice的具体接口文档

提供资源下载地址(因为开发时,csdn资源比较好,苦于c币原因,无奈积分下载)
原生接口的saveAsPDF不能用的原因,是缺少TrustedPDF插件原因,后来点聚在收费的weboffice中才提供原生word转PDF,所以在上传时的转换WORD为PDF的想法破灭了(POI转换过于影响样式放弃,libreoffice转换简单,但是linux配置麻烦,暂时打印和预览还是通过weboffice重新加载word后使用ocx的打印和预览功能)
weboffice6的安装程序和js封装实例https://download.csdn/download/x308561498/10597330

本文标签: 在线版本webofficeword