CN113590116A - 一种在OA***中基于BS模式非嵌入式使用Office的方法 - Google Patents

一种在OA***中基于BS模式非嵌入式使用Office的方法 Download PDF

Info

Publication number
CN113590116A
CN113590116A CN202110895366.XA CN202110895366A CN113590116A CN 113590116 A CN113590116 A CN 113590116A CN 202110895366 A CN202110895366 A CN 202110895366A CN 113590116 A CN113590116 A CN 113590116A
Authority
CN
China
Prior art keywords
office
program
webpage
browser
mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110895366.XA
Other languages
English (en)
Inventor
刘绍军
姜新华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangxi Kinggrid Technology Co ltd
Original Assignee
Jiangxi Kinggrid Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangxi Kinggrid Technology Co ltd filed Critical Jiangxi Kinggrid Technology Co ltd
Priority to CN202110895366.XA priority Critical patent/CN113590116A/zh
Publication of CN113590116A publication Critical patent/CN113590116A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种在OA***中基于BS模式非嵌入式使用Office的方法,其特征在于:所述方法包括以下步骤:S10:开启本地HTTP服务器程序,S20:使用浏览器网页的JS脚本通过AJAX模块实现与所述本地HTTP服务器程序的通信;S30:所述AJAX模块访问本地HTTP服务器程序的StartBrowser接口启动CefBrowser程序,S40:由CefBrowser程序打开指定的浏览器网页的URL链接,本发明的优点在于消除了由于浏览器版本的类型不同和版本更新等因素造成的Office程序在打开和保存等环节存在的各种错误的可能性;以BS模式设计整个OA***,使***的灵活性和可维护性大大提高。

Description

一种在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程序。

Claims (2)

1.一种在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程序的浏览器网页。
2.根据权利要求1所述的一种在OA***中基于BS模式非嵌入式使用Office的方法,其特征在于:所述OA***以BS模式设计应用***,所述包含Office程序的浏览器网页只能被CefBrowser加载打开,所述网页中的JS脚本通过PPAPI插件、Office文档中间件为代理,以处理普通网页元素DOM对象的方式使用Office对象。
CN202110895366.XA 2021-08-05 2021-08-05 一种在OA***中基于BS模式非嵌入式使用Office的方法 Pending CN113590116A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110895366.XA CN113590116A (zh) 2021-08-05 2021-08-05 一种在OA***中基于BS模式非嵌入式使用Office的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110895366.XA CN113590116A (zh) 2021-08-05 2021-08-05 一种在OA***中基于BS模式非嵌入式使用Office的方法

Publications (1)

Publication Number Publication Date
CN113590116A true CN113590116A (zh) 2021-11-02

Family

ID=78255307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110895366.XA Pending CN113590116A (zh) 2021-08-05 2021-08-05 一种在OA***中基于BS模式非嵌入式使用Office的方法

Country Status (1)

Country Link
CN (1) CN113590116A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114936538A (zh) * 2022-05-16 2022-08-23 三峡高科信息技术有限责任公司 基于浏览器和办公软件客户端进行文档比对的方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567065A (zh) * 2009-05-26 2009-10-28 杭州世导科技有限公司 跨平台的文档在线编辑***及其方法
KR20140090394A (ko) * 2013-01-09 2014-07-17 씨지웹 주식회사 웹페이지에의 응용프로그램 임베디드 서비스 제공 방법 및 시스템
CN109325157A (zh) * 2018-07-06 2019-02-12 中科星图股份有限公司 基于浏览器的地理空间信息承载方法
CN109634588A (zh) * 2018-12-06 2019-04-16 安徽科大国创软件科技有限公司 一种兼容多浏览器的Office文档在线编辑方法和***
CN110471716A (zh) * 2019-08-20 2019-11-19 江西金格科技股份有限公司 在OA***中非嵌入式使用Office的方法
CN111176752A (zh) * 2019-12-20 2020-05-19 汪佐怀 一种浏览器页面内嵌窗口小程序的方法及装置
CN111223540A (zh) * 2020-01-08 2020-06-02 智业软件股份有限公司 一种本地应用程序嵌合到web应用中的方法及***
CN112269671A (zh) * 2020-11-14 2021-01-26 江西金格科技股份有限公司 一种在网页中使用Office编程接口的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567065A (zh) * 2009-05-26 2009-10-28 杭州世导科技有限公司 跨平台的文档在线编辑***及其方法
KR20140090394A (ko) * 2013-01-09 2014-07-17 씨지웹 주식회사 웹페이지에의 응용프로그램 임베디드 서비스 제공 방법 및 시스템
CN109325157A (zh) * 2018-07-06 2019-02-12 中科星图股份有限公司 基于浏览器的地理空间信息承载方法
CN109634588A (zh) * 2018-12-06 2019-04-16 安徽科大国创软件科技有限公司 一种兼容多浏览器的Office文档在线编辑方法和***
CN110471716A (zh) * 2019-08-20 2019-11-19 江西金格科技股份有限公司 在OA***中非嵌入式使用Office的方法
CN111176752A (zh) * 2019-12-20 2020-05-19 汪佐怀 一种浏览器页面内嵌窗口小程序的方法及装置
CN111223540A (zh) * 2020-01-08 2020-06-02 智业软件股份有限公司 一种本地应用程序嵌合到web应用中的方法及***
CN112269671A (zh) * 2020-11-14 2021-01-26 江西金格科技股份有限公司 一种在网页中使用Office编程接口的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114936538A (zh) * 2022-05-16 2022-08-23 三峡高科信息技术有限责任公司 基于浏览器和办公软件客户端进行文档比对的方法
CN114936538B (zh) * 2022-05-16 2023-02-03 三峡高科信息技术有限责任公司 基于浏览器和办公软件客户端进行文档比对的方法

Similar Documents

Publication Publication Date Title
JP5679989B2 (ja) デバッグパイプライン
CN100535900C (zh) 用于提供异步门户页的方法和***
US20060265469A1 (en) XML based scripting framework, and methods of providing automated interactions with remote systems
US8505034B2 (en) Automated service interface optimization
US9471704B2 (en) Shared script files in multi-tab browser
US8180828B2 (en) Architecture, system and method for providing a plug-in architecture in a real-time web application framework
CN110109671B (zh) 一种webpack标签尺寸样式转换方法及装置
WO2016005884A2 (en) Javascript-based, client-side template driver system
CN112445994A (zh) 一种在打开的Chrome浏览器中进行自动化操作的方法
US7376935B2 (en) Design-time system and method to enable programming assistance across languages and compilation boundaries
CN112087370A (zh) 发布GitHub Issues的方法、***、电子设备和计算机可读存储介质
CN113590116A (zh) 一种在OA***中基于BS模式非嵌入式使用Office的方法
US20150295984A1 (en) Multi Web Application Management Framework System and Method
Balachandar RESTful Java Web Services: A pragmatic guide to designing and building RESTful APIs using Java
CN110471716A (zh) 在OA***中非嵌入式使用Office的方法
US20150012819A1 (en) Template-driven decoration engine
CN110738024A (zh) 将WebAPP转换为API服务接口的方法
CN111708956A (zh) 基于HTML5技术的在网页浏览器中编辑Office文件的方法
CN112269671A (zh) 一种在网页中使用Office编程接口的方法
CN112118285A (zh) 适用于客户端全版本浏览器的数据传输方法及***
CN112650502A (zh) 批处理任务处理方法、装置、计算机设备和存储介质
JP4776602B2 (ja) コントローラ用のプログラミング装置、コントローラ及びコントローラ管理システム
CN110705209A (zh) 一种在线修改稿件的方法及其***
CN115291968B (zh) 一种业务处理方法、***及计算机设备
CN115242764B (zh) 针对前端的多端通信方法、***、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20211102

RJ01 Rejection of invention patent application after publication