分享
 
 
 

WEB环境下办公自动化文档修改痕迹保留的实现

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

一、痕迹保留的现状与思考

随着政府机关和许多企事业单位网络建设逐步完成,对于在如何利用网络,如何表现出网络的优势方面,用户最容易想到,同时也是最容易产生效果的应用,就是办公自动化系统(OA)。在当前的软件开发实践中,B/S模式(浏览器/服务器模式)的开发可以采用三层结构,前端服务层、中间业务层、后台数据库。由于其扩展性好,数据安全性高,同时无须考虑客户端的兼容性,解决了C/S模式二层结构的诸多局限性,因而在办公自动化系统中得到了广泛的应用。

修改痕迹的保留是办公自动化系统的一个难点,很多基于B/S模式的OA系统处理的方法是:Word文件只是简单的作为一个表单附件,在需要使用的时候调出来进行操作。但这一方法的缺点是没有对Word文档进行相关的控制。公文所要求的格式需要流程走完后由秘书或相关人员对Word文档进行相关处理,生成正式文件,在打印时无法满足国家对公文格式的要求。还有一种做法就是使用一个RTF域来代替Word,但这样做是以牺牲了用户的习惯和字处理功能为代价的,而且效果往往不见得理想。

目前,修改痕迹的保留较好的处理办法有两种,一种是重新设计专用编辑器,另一种是调用MS Office字处理软件,通过对Word的编程,实现对修改痕迹的保留。从理论和实践上来看,第一种办法比较好,利用嵌入在HTML页面内的专用图文混排控件,我们可以方便的加强客户端的显示及处理功能,减少开发工作量,提高软件质量。

二、第三方控件的介绍

办公之星控件(OStarOCX)是智岛软件公司(http://www.standsoft.com)推出的一款基于图文混排的文档处理控件(类似Word的控件),办公之星控件(OStarOCX)完全封装了办公之星的文字、图形、表格、图表等功能,提供了几百个编程接口;在ERP、CRM、HR、OA等系统里,开发难度非常大的文档处理、统计、报表等输出功能都可由办公之星控件(OStarOCX)轻松实现,其所见即所得的效果跟现实里的完全一样。办公之星控件(OStarOCX)是一个标准的OCX控件,适用于Windows环境的各种开发工具(如VB,VC,Delphi, C+Builder, PB, Java等), 并且针对Web开发环境做了大量的优化。

三、痕迹保留的具体实现

第三方控件在WEB环境下办公自动化程序中的运用,极大丰富了办公自动化程序的功能和应用范围。要在WEB环境中使用办公之星控件,必须首先将控件加入WEB编程环境,然后我们就可使用办公之星控件的各种接口了。

1. 办公之星控件相关接口方法说明

方法 BSTR GetCurUser() 返回当前用户名称

方法 SetCurUser(LPCTSTR strName) 设置当前用户名称

方法 SetEmendState(BOOL bEmend) 设置修订状态.b为TRUE时为修订状态,为FALSE时为非修订状态

方法 BOOL GetEmendState() 返回修订状态.b为TRUE时为修订状态,为FALSE时为非修订状态

方法 ShowEmendDlg() 显示接受或拒绝修订对话框

方法 PrevFindEmend() 往后查找修订

方法 NextFindEmend() 向前查找修订

方法 AcceptEmend() 接受单个修订

方法 AcceptAllEmend() 接受所有修订

方法 RefuseEmend() 拒绝单个修订

方法 RefuseAllEmend() 拒绝所有修订

2. 设定批改文档的用户

默认状态下文档的修改用户为超级管理员(admin),在对文档进行操作前我们通常要设定批改操作的用户。例:

OStar.SetCurUser("张三")

上述代码(javascript脚?设定当前文档的操作者为“张三”。上面代码中“OStar”(下面代码同)是程序中标识办公之星控件的惟一名字,在插入控件时通过id进行设置。

3. 实现对修改的留痕

在web文档里做一按钮,实现对修改留痕的控制。该按钮实现功能源程序(javascript脚本)为:

if(OStar.GetEmendState()){

OStar.SetEmendState(0);

window.status="";

}else{

OStar.SetEmendState(1);

window.status="修订中...";

}

该按钮为一开关按钮,能够在留痕与正常编辑状态间切换。

4. 查看修改

各操作按钮功能及实现代码如下:

function PrevFindEmend(){

OStar.PrevFindEmend();//前一处修订

}

function NextFindEmend(){

OStar.NextFindEmend();//下一处修订

}

5. 接受或拒绝修改

各操作按钮功能及实现代码如下:

function AcceptEmend(){

OStar.AcceptEmend();//接受修订

}

function RefuseEmend(){

OStar.RefuseEmend();//拒绝修订

}

function AcceptAllEmend(){

OStar.AcceptAllEmend();//全部接受

}

function RefuseAllEmend(){

OStar.RefuseAllEmend;//全部拒绝

}

四、痕迹保留实现效果

通过上述编程,实现了OA与图文混排文档的无缝集成,保证了所有对于修改痕迹的恶意操作都无法通过系统的认可,确保批改人员的修改意图不被扭曲或是误解,保证了信息交流的安全性。同时可以充分利用办公之星控件强大的编辑功能,随时查阅领导修改和批注的要点,又避免了成文后打印前存在的成文版本与打印文本有出入的漏洞,可以明确各个环节的责任。痕迹保留实现的效果如下图:

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有