一种在OA系统中基于BS模式非嵌入式使用Office的方法

文档序号:189899 发布日期:2021-11-02 浏览:24次 >En<

阅读说明:本技术 一种在OA系统中基于BS模式非嵌入式使用Office的方法 (BS mode-based non-embedded Office using method in OA system ) 是由 刘绍军 姜新华 于 2021-08-05 设计创作,主要内容包括:本发明公开了一种在OA系统中基于BS模式非嵌入式使用Office的方法,其特征在于:所述方法包括以下步骤:S10:开启本地HTTP服务器程序,S20:使用浏览器网页的JS脚本通过AJAX模块实现与所述本地HTTP服务器程序的通信;S30:所述AJAX模块访问本地HTTP服务器程序的StartBrowser接口启动CefBrowser程序,S40:由CefBrowser程序打开指定的浏览器网页的URL链接,本发明的优点在于消除了由于浏览器版本的类型不同和版本更新等因素造成的Office程序在打开和保存等环节存在的各种错误的可能性;以BS模式设计整个OA系统,使系统的灵活性和可维护性大大提高。(The invention discloses a BS mode-based non-embedded Office using method in an OA system, which is characterized by comprising the following steps: s10: starting a local HTTP server program, S20: using a JS script of a browser webpage to realize communication with the local HTTP server program through an AJAX module; s30: the AJAX module accesses the StartBrowser interface of the local HTTP server program to start the CefBrowser program, S40: the method has the advantages that the method eliminates the possibility of various errors in the links of opening, saving and the like of Office programs caused by different types of browser versions, version updating and other factors; the entire OA system is designed in the BS mode, so that the flexibility and maintainability of the system are greatly improved.)

一种在OA系统中基于BS模式非嵌入式使用Office的方法

技术领域

本发明涉及基于WEB的OA系统办公自动化技术,尤其涉及一种在OA系统中基于BS模式非嵌入式使用Office的方法。

背景技术

OA:办公自动化(Office Automation,简称OA)是将现代化办公和计算机技术结合起来的一种新型的办公方式。办公自动化没有统一的定义,凡是在传统的办公室中采用各种新技术、新机器、新设备从事办公业务,都属于办公自动化的领域。在本文中特指基于WEB的协同办公自动化软件。

Microsoft Office文件:Microsoft Office(以下简称Office)是微软公司开发的一套基于Windows操作系统的办公软件套装。常用组件有Word、Excel、PowerPoint等。Microsoft Office文件是指Word、Excel、PowerPoint等软件编辑后保存的文件。

CEF: Chromium Embedded Framework (CEF)是个基于Google Chromium项目的开源Web browser控件,支持Windows, Linux, Mac平台。除了提供C/C++接口外,也有其他语言的移植版。因为基于Chromium,所以CEF支持Webkit & Chrome中实现的HTML5的特性,并且在性能上面,也比较接近Chrome。

AJAX: 是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

本机HTTP服务器程序:是指监听本机IP的某个端口,并处理HTTP协议的请求的程序。

PPAPI插件:出于对安全性的考虑,2010年,Chrome在原有网景NPAPI基础上开发了新的PPAPI(Pepper Plugin API)接口,并且在Chrome45及后续版本停止对NPAPI接口的支持。本文中PPAPI插件特指在实现了基本PPAPI接口的基础上,能够创建Office文档中间件,实现了Chrome使用JavaScript代码调用Office文档中间件的属性和方法,实现了 Chrome使用JavaScript代码响应Office文档中间件的事件。

Office自动化编程接口: Office程序提供的自动化(IDispatch)接口,使用者可以通过编程的方式使用接口提供的功能,以满足各种实际功能中的需要。

Office文档中间件:一个OLE容器以OLE嵌入方式加载Office程序,通常会封装常用Office功能,并会对外提供Office的自动化可编程接口。

BS架构:BS架构的全称为Browser/Server,即浏览器/服务器结构。Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现,Browser客户端。BS架构有分布性、业务扩展方便、维护简单方便和开发简单、共享性强、成本低等优点。

随着通讯技术的不断发展,单一的个人办公软件已无法满足信息交流日益频繁的现代办公需求,将WEB技术与office软件技术有机的结合起来,可以开发实现资源共享、协同工作的办公软件。由于基于WEB的OA系统(简称OA系统)运行在网页浏览器之中,因此,如何把Office软件技术与各种浏览器技术有机结合是OA系统面临的一个重要技术问题。当前环境下主流浏览器有IE、火狐、谷歌和许多基于谷歌内核的浏览器,在OA系统中,通常的有以下几种做法:

1.在浏览器里嵌入Office程序的模式,即浏览器中嵌入ActiveX中间件,ActiveX中间件中嵌入Office。(浏览器版本不可控)这种模式的优点是软件界面比较友好,但因为浏览器的紧密耦合,软件的稳定性不仅跟Office软件有关,而且跟浏览器也相关,经常会因为浏览器版本变动引起新的问题。

2.从浏览器启动包含Office程序的独立窗口,即浏览器中不再嵌入Office程序,这种模式的优点是软件跟浏览器解耦合,运行效果稳定,Office程序的稳定性跟浏览器无关,但此模式类似传统的CS模式,相比于浏览器的BS模式,软件的客户端过于臃肿,后期升级维护的成本较高。

3.由浏览器通过插件启动Office,以非嵌入方式使用Office程序,这种模式的优点也是Office程序跟浏览器解耦且完全独立运行。但系统只能使用Office编辑器提供的可视功能界面编辑文件,而无法使用Office的可编程接口实现系统中更复杂的业务功能。另一个不足之处是,需要为每个浏览器开发对应插件,这也是很大的工作量。

发明内容

本发明的目的是提供一种OA系统中基于BS模式的非嵌入式使用Office的方法,避免在浏览器网页中嵌入Office程序,又能通过网页JavaScript使用Office编程接口,实现BS运行模式,满足OA系统对软件稳定性和运行维护效率的需求。

一种在OA系统中基于BS模式非嵌入式使用Office的方法,所述方法包括以下步骤:

S10:开启本地HTTP服务器程序,

S20:使用浏览器网页的JS脚本通过AJAX模块实现与所述本地HTTP服务器程序的通信;

S30:所述AJAX模块访问本地HTTP服务器程序的StartBrowser接口启动CefBrowser程序,

S40:由CefBrowser程序打开指定的浏览器网页的URL链接,

所述URL网页链接通过PPAPI插件嵌入Office网页中间件来实现对Office应用程序的嵌入,所述URL网页链接的JS模块通过CEF内核的PPAPI宿主模块的ScriptableObject接口跟Office文档中间件通信,进而控制和使用Office程序的功能;

所述HTTP服务器程序用于接收浏览器网页AJAX模块命令并唤起CefBrowser程序;

所述CefBrowser程序是CEF内核的Windows应用程序,实现打开嵌入了Office程序的浏览器网页;

其中,所述OA系统以BS模式设计应用系统,所述包含Office程序的浏览器网页只能被CefBrowser加载打开,所述网页中的JS脚本通过PPAPI插件、Office文档中间件为代理,以处理普通网页元素DOM对象的方式使用Office对象。

本发明的优点在于,与浏览器嵌入Office的模式相比,通过把Office和浏览器程序的解除耦合,消除了由于浏览器版本的类型不同和版本更新等因素造成的Office程序在打开和保存等环节存在的各种错误的可能性;CefBrowser程序包含CEF内核,可以打开内嵌Office程序的网页,可以通过网页Javascript使用Office程序的可编程接口,完成具体业务功能的组织与控制;由于只需针对CEF内核编写插件,从而避免为适配多个浏览器而编写多个插件;由于可以把业务功能写网页Javascript里,以BS模式设计整个OA系统,使系统的灵活性和可维护性大大提高。

附图说明

图1是本发明的系统结构框图;

图2是本发明中浏览器、本地HTTP服务器和CefBrowser程序的关系图;

图3是本发明中CefBrowser程序、PPAPI插件、Office文档中间件和Office程序关系图;

图4是本发明系统工作流程图。

具体实施方式

以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

实施例:

参见图1系统结构框图,OA系统的浏览器网页对Office文件的访问通过本地HTTP服务器、CefBrowser程序组成的本地服务进程组以及PPAPI插件和Office文档中间件组成的插件模块。

OA系统通过网页代码中的AJAX模块访问本地HTTP服务器的StartBrowser接口,呼唤出CefBrowser程序,CefBrowser打开Office编辑网页,CefBrowser的CEF内核加载以网页元素形式存在的PPAPI插件,PPAPI插件加载Office文档中间件,Office文档中间件加载Office程序。最后,CefBrowser通过Office编辑网页中的JavaScript对Office程序做操作。

参见图2,本地HTTP服务器公开文件操作命令接口(StartBrowser),浏览器网页代码可以通过AJAX模块访问StartBrowser接口。StartBrowser会启动CEF内核浏览器程序CefBrowser打开Office文件操作网页页面,具体的Office文件操作功能在网页的JavaScript里根据OA系统的需求定制实现,使系统运行在轻量级客户端的BS模式。

参见图3,CefBrowser启动后会加载CEF内核并打开Office编辑网页页面,页面中存在PPAPI插件网页元素。CEF内核的PPAPI Host作为宿主,把PPAPI插件纳入网页元素对象树DOM(Document Object Module)中,JavaScript可以通过PPAPI插件协议的InstancePrivate接口创建DOM对象,可以通过ScriptableObject接口操作DOM对象,从而操作PPAPI插件对象。另一方面,PPAPI插件连接到Office文档中间件,PPAPI插件作为中间代理把Office文档中间件的对外接口暴露出来,JavaScript可以通过操作PPAPI插件的DOM对象,从而操作Office文档中间件的接口,以及使用Office程序的自动化可编程接口功能,最终达到使用Office功能的目的。

参见图4,以OA系统中最常用的打开文件功能为例,浏览器网页中打开网络服务器上的Word文件并在CefBrowser程序中展示Word文件内容。AJAX调用本地HTTP服务器的StartBrowser接口,HTTP服务器解析接口参数后获得展示Word文件的网址URL,CefBrowser程序打开用于展示Word文件的网页URL,其中CEF内核模块解析网页元素,PPAPI插件网页元素被解析为DOM对象,PPAPI插件加载Office文档中间件,中间件以OLE模式加载Office程序把Office程序的自动化可编程接口暴露出来,网页的JavaScript可以通过PPAPI插件代理使用Office可编程接口。最后,OA系统根据自身的需求要求,通过网页JavaScript灵活组织使用Office程序功能。

一种在OA系统中基于BS模式非嵌入式使用Office的方法,所述方法包括以下步骤:

S10:开启本地HTTP服务器程序,

S20:使用浏览器网页的JS脚本通过AJAX模块实现与所述本地HTTP服务器程序的通信;

S30:所述AJAX模块访问本地HTTP服务器程序的StartBrowser接口启动CefBrowser程序,

S40:由CefBrowser程序打开指定的浏览器网页的URL链接,

所述URL网页链接通过PPAPI插件嵌入Office网页中间件来实现对Office应用程序的嵌入,所述URL网页链接的JS模块通过CEF内核的PPAPI宿主模块的ScriptableObject接口跟Office文档中间件通信,进而控制和使用Office程序的功能;

所述HTTP服务器程序用于接收浏览器网页AJAX模块命令并唤起CefBrowser程序;

所述CefBrowser程序是CEF内核的Windows应用程序,实现打开嵌入了Office程序的浏览器网页;

其中,所述OA系统以BS模式设计应用系统,所述包含Office程序的浏览器网页只能被CefBrowser加载打开,所述网页中的JS脚本通过PPAPI插件、Office文档中间件为代理,以处理普通网页元素DOM对象的方式使用Office对象。

工作原理:

一种OA系统中基于网页BS模式的非嵌入式使用Office的方法,开启本地HTTP服务器程序,使用在浏览器网页中JS脚本通过AJAX模块以及本地HTTP服务器程序通信,AJAX访问本地HTTP服务器的StartBrowser接口呼唤出CefBrowser程序,再由CefBrowser程序的Office编辑网页中JavaScript完成Office文件操作;所述CefBrowser程序由CEF内核和PPAPI插件以及Office文档中间件组成;所述Office文档中间件完成Office文件的下载、上传、打开、关闭以及所有Office程序提供的自动化功能;所述PPAPI插件使用其内部Office中间件把CefBrowser程序的网页中的JavaScript语句变换为Office程序的自动化功能调用以完成Office文件操作。所述浏览器网页对Office文件的操作通过浏览器网页JavaScript语句、AJAX模块、本地HTTP服务器程序呼唤出CefBrowser程序,CefBrowser继而打开Office编辑网页,使用Office文档中间件,最后到达Office程序。以远程文件打开功能为例,AJAX模块把浏览器网页命令传达给本地HTTP服务器程序,本地HTTP服务器程序呼唤出CefBrowser,CefBrowser通过PPPAPI插件把文件下载命令传达给Office文档中间件,Office文档中间件从远程服务器下载Office文件,最后Office文档中间件通过Office OLE以嵌入方式打开Office程序。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于Java的echarts图表动态生成方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!