一、需求介绍

在平常的学习或工作中,有时我们需要对同一篇文章进行多次修改,或者不同人对同一篇文章进行修改,修改的次数多了,难免会杂乱。举个简单的例子:刚刚编辑好的一份合作方案,想着给合作方发过去看一下的。没想成,对方看完后,有些地方还不满意,就在文档上直接进行了一番修改。最后到自己手上的文档已经面目全非了,好吧!还好手上有原始文件,我可以对比一下看看对方到底添加了些什么内容,修改了些什么内容。有没有什么好方法能够对比两个文档,快速找出其中不同之处呢?

二、方案

用 pageoffice 提供的两个文档差异化比较的功能

三、核心代码

四:具体的实现步骤

1:实现简单的在线打开文档()

2:

poCtrl.webOpen("doc/test.doc",OpenModeType.docNormalEdit,"张佚名");

改成

poCtrl1.wordCompare("doc/aaa1.doc", "doc/aaa2.doc", OpenModeType.docAdmin, "张三");

3:添加自定义按钮

poCtrl1.addCustomToolButton("显示A文档", "ShowFile1View()", 0);

poCtrl1.addCustomToolButton("显示B文档", "ShowFile2View()", 0);

poCtrl1.addCustomToolButton("显示比较结果", "ShowCompareView()", 0);

4:写对应按钮的 js 方法

function ShowFile1View() {

document.getElementById("PageOfficeCtrl1").Document.ActiveWindow.View.ShowRevisionsAndComments = false;

document.getElementById("PageOfficeCtrl1").Document.ActiveWindow.View.RevisionsView = 1;

}

function ShowFile2View() {

document.getElementById("PageOfficeCtrl1").Document.ActiveWindow.View.ShowRevisionsAndComments = false;

}

function ShowCompareView() {

document.getElementById("PageOfficeCtrl1").Document.ActiveWindow.View.ShowRevisionsAndComments = true;

document.getElementById("PageOfficeCtrl1").Document.ActiveWindow.View.RevisionsView = 0;

}

下面的图片说明一下 true, false 和 0 ,1 代表什么

五、完整的代码

PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);

poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz");

// Create custom toolbar

poCtrl1.addCustomToolButton("保存", "SaveDocument()", 1);

poCtrl1.addCustomToolButton("显示A文档", "ShowFile1View()", 0);

poCtrl1.addCustomToolButton("显示B文档", "ShowFile2View()", 0);

poCtrl1.addCustomToolButton("显示比较结果", "ShowCompareView()", 0);

//poCtrl1.wordCompare("doc/aaa1.doc", "doc/aaa2.doc", OpenModeType.docReadOnly, "张三");

poCtrl1.wordCompare("doc/aaa1.doc", "doc/aaa2.doc", OpenModeType.docAdmin, "张三");

%>

Word文档比较

function ShowFile1View() {

document.getElementById("PageOfficeCtrl1").Document.ActiveWindow.View.ShowRevisionsAndComments = false;

document.getElementById("PageOfficeCtrl1").Document.ActiveWindow.View.RevisionsView = 1;

}

function ShowFile2View() {

document.getElementById("PageOfficeCtrl1").Document.ActiveWindow.View.ShowRevisionsAndComments = false;

document.getElementById("PageOfficeCtrl1").Document.ActiveWindow.View.RevisionsView = 0;

}

function ShowCompareView() {

document.getElementById("PageOfficeCtrl1").Document.ActiveWindow.View.ShowRevisionsAndComments = true;

document.getElementById("PageOfficeCtrl1").Document.ActiveWindow.View.RevisionsView = 0;

}

六、最终效果

A文档

B文档

比较效果:

七、注意事项

文档比较的功能需要企业版才能实现(PageOffice V4.0 企业版试用序列号:I7TGD-71VV-FYD8-4NMYP)

java 文档比较功能_java 实现在线比较两个版本的Word文档的功能相关推荐

  1. 如何比对两个版本的Word文档

    1.2003版 先打开一篇文档,然后执行以下操作:工具-比较并合文档,再打开第二篇文档即可: 2.2007版 先打开一篇文档,选择"审阅"--"比较" 以比较文 ...

  2. Django在线预览docx格式的word文档

    Django在线预览docx格式的word文档 第一步 明确功能是:预览word的docx文件. 具体实现是:在Django的模板文件中,定义预览方法:read_word2html from pydo ...

  3. Word邮件合并功能详解:合并后生成多个word文档,删除空白页

    Word邮件合并功能详解:合并后生成多个word文档,删除空白页 最近在实习,干了很多打杂得工作,所以office软件用的很多很多,瞬间觉得自己可以去裸考计算机二级了哈哈哈哈哈哈.今天因为工作用到了邮 ...

  4. Word处理控件Aspose.Words功能演示:使用 C++ 保护或取消保护 Word 文档

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word. ...

  5. 两招挽救Office word文档中的乱码(转)

    两招挽救Office word文档中的乱码(转)[@more@] 有的时候可能由于操作的问题,当你再次打开一个你认为没有问题的文档时,可能会看见文件中一片乱码更本就无法阅读!如果出现了这写情况可以通过 ...

  6. 基于Java实现的汽车租赁管理系统、SSM/SpringBoot两个版本都有+mysql汽车出租系统实现

    基于Java实现的汽车租赁管理系统.SSM/SpringBoot两个版本都有+mysql汽车出租系统实现 感兴趣的朋友可以家 3060912346 主要技术 SpringBoot\SSM(两个版本都有 ...

  7. java开发平台普元_java开发平台的两种实现模式

    从目前国内主流的java开发平台看,主要有两种实现模式:引擎模式及生成源代码模式.引擎模式比较有代表性的是华丹平台(https://www.huadaninfo.com),生成源代码模式比较有名是的普 ...

  8. word文档保存文件时出错_保存时如何自动创建Word文档的备份副本

    word文档保存文件时出错 Backing up your documents is always a good thing to do, but not always something we re ...

  9. wps的word文档怎么全选内容_word全选的快捷键 选择Word文档内容小技巧

    有可能很多人看了小编这个题目之后很不以为然,不就是选择文档吗?有什么大不了的,但是,你看完小编写的经验之后,再来进行评价.选择Word文档内容说白了就是选择文字,当中存在哪些技巧,听小编给你一一道来. ...

  10. python排版word文档命令方法大全_教你怎么使用Python对word文档进行操作

    使用Python对word文档进行操作 一.安装Python-docx Python-docx是专门针对于word文档的一个模块,只能读取docx 不能读取doc文件.说白了,python就相当于wi ...

最新文章

  1. python散点图拟合曲线-python – 将曲线拟合到散点图的边界
  2. micropython安装第三方库_安装第三方模块
  3. 64位系统好不好用java_64位系统环境时Java的性能
  4. 三星Galaxy S22系列可能会延迟发售:原因可能还是它!
  5. Linux基础命令---cat
  6. 农行总行携手趣链科技上线区块链涉农电商融资产品
  7. mysql索引红黑联盟_MySQL的索引
  8. Java自动化测试系列[v1.0.1][PO设计模式]
  9. 学习笔记(5):2020华为HCIA/HCNA/数通/路由交换/实验/视频/教程/持续更新赠题库-HCIA数通IP地址编址及报头详解
  10. Dreamweaver中插入透明Flash
  11. 在屏幕上绘制圆形函数
  12. html站点文件命名规范,HTML文件命名规范大全
  13. lodash中curry的实现
  14. css大图切割,利用CSS切割图片技术来动态显示图片
  15. 如何治疗水龟脖子长的大包
  16. J2EE总体的学习计划(百搜技术)
  17. Anaconda3 下载安装与Labelme下载安装
  18. c语言实现 自动访问网址,使用C语言实现网站开发
  19. 【AIGC使用教程】Microsoft Edge/Bing Chat 注册使用完全指南
  20. WebRTC 实现P2P音视频通话——原生IOS端使用WebRTC实现一对一音视频通话

热门文章

  1. ESP32 学习笔记(二十一)电源管理
  2. plsql去除字段中空格_PLSQL 数据中去掉 字段有空格 回车 换行
  3. Web前端学习日记3
  4. 【历史上的今天】10 月 24 日:1024 程序员节;中文维基百科上线;iPad mini 诞生十周年
  5. Python中while循环的基本用法
  6. php怎么画五星红旗,php基于GD库画五星红旗的方法_php技巧
  7. photoshop自定义画笔预设,工作中的应用。
  8. 用计算机清点木材的数量,木材检验员培训课件-木材出入库管理.ppt
  9. 拼音四线三格图片_一年级语文必考拼音拼读+书写规则,孩子开学就会用到!...
  10. Flash | 用几张帧图创建逐帧动画元件并插入场景层的一般步骤