WORD文档比较的一些思路

有一个需求是这样的,用户甲上传一个WORD文档给用户乙进行审批,用户甲就是文件创建者,而用户乙就是文件修改者,当然他可以进行多次修改,一直到他锁定该文档不能再修改为止,用户甲和用户乙需要看到的就是用户乙修改后的文档比较。

 

 

相信很多人都用过Tortoise这个工具,里面就有一个TortoiseMerge,用来比较不同版本的文档,如图:

 

或者是简单的文本文档的比较,看了一下TortoiseMerger如何实现WORD文件的比较,还是首先把WORD文件的内容提取出来,然后再进行文本比较,如下图:

 

今天在无忧脚本里看到一个简单的公文批注js版:http://bbs.51js.com/viewthread.php?tid=10643&extra=page%3D1 ,那里是基于VML+DOM实现的,可以保留痕迹,但是用户必须在页面上进行操作

 

还好在TortoiseMerge是开源的,用底层C++来实现,源码在http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/src/TortoiseMerge(用TortoiseSVN checkout,用户名是guest,密码是空的)

 

现在基本思路是当用户修改文档这个事件发生,异步用JNI调用编译好的TortoiseMerge来实现两个文档的比较,把比较后的结果保存在一个WORD文档里面。

 

当然可以说客户的需求BT,可以委婉拒绝客户的这个想法,不知道大家有什么好的思路。

 

附:最近找到一个简单的WORD文档比较工具:CSDiff,下载地址是:http://www.brothersoft.com/csdiff-download-4744.html

它可以通过命令行进行操作:先切换到安装目录下,然后执行命令CSDiff.exe c:\原始文档.doc c:\修改文档.doc

会弹出一个对比后的文档:文档1,此时调用Jacob组件能保存对比的文档

 

CSDiff的命令行操作:

CSDiff.exe /OoutFormatOutfile [/bblanksMode] [/scomparMethod] [/i] [/n] [/t=nnn] [/q] BaseFileName CmpFileName [BaseFileTitle CmpFileTitle]

我们经常会遇到这样的问题: 1、 撰写工作报告、演讲文稿或相关方案,经常是改了再写,写了再改,有时候甚至需要预备多个版本。通常的做法是将每个版本的文档单独保存为一个文件,相似的文件多了,不仅占用了磁盘空间,而且管理起来也不方便。 2、 “客户昨天把合同发给小张,说合同中做了些调整,让小张看看后如果没有什么疑问就可以签字了”,合同中的一字之差、一个标点都有可能使问题性质大变,而这些细微差别很难人工识别。 3、 “小王,昨天领导看了你写的财务方案,做了一些修改,你最后再完善一下。”今天一上班,主任就给小王安排了任务。老总究竟修改了哪些地方?怎么样才能快速精确地比较出两份文件的异同呢?难道去问老总?用眼睛直接观察?小王犯愁了。 相信类似的问题,大家在日常工作中也会经常遇到,面对电脑以及公司网络上各种版本的文件,还有一些修改过多少次的文档,如何知道这些相似文档的差别在哪些地方、都进行过哪些改动,有一些只有极为细小的区别,如果仅仅凭借手工来逐个查找文档的不同之处,会浪费不少时间和精力。 有没有什么好办法可以解决这个问题呢?当然有! 现在有很多种文件比较工具可以用来查找两个文本文件是否相同,而且往往比使用Word更加直观,例如“叮当文档比较器(DD-Compare)”就是一个很有特色的文件直观比较工具,她可以比较两个文件的不同处,提供在同一窗口内开左右两个窗格显示两个文件的内容,你可用鼠标或键盘操作进行对照。 下面简单介绍一下叮当文档比较器如何帮助你一目了然识别两个文档之间的差异:FileCompare 第一步、下载(下载地址:http://www.ddpace.com)叮当文档比较器(DD-Compare),并完成安装,安装过程比较简单,这里不做具体介绍; 第二步、到叮当文档比较器软件的官方网站注册一下用户,只需要姓名和电子邮件就可以了; 第三步、选择要比较的文件,文件格式支持doc、docx、xls、xlsx、ppt、pptx、txt、htm、html等9种格式。 第四步、点击“比较上述两个文件”,显示出两个文件的差异所在,如下图所示。 利用叮当文档比较器(DD-Compare)的比较文档功能,可以大大减轻你的工作量,提高准确性和工作效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值