前言:

在OA系统中,时不时的都会伴随着文档流转过程。比如有的系统中会有领导审批的流程,那么在A领导审批完成后,他的审批痕迹能不能强制保留下来,以供下一步处理文档的专员清晰地参考呢?

我们知道,在本地office打开的文档中,如果点击 审阅---修订,就会将编辑的记录跟踪下来留下痕迹。我们在线办公的系统中能不能直接将这一步由我们系统来做,避免出现用户操作不一致最终没留下痕迹的现象呢?

这些需求在分析后看似很复杂,甚至想要实现时摸不着头脑。本篇文章直接介绍一个中间件技术-----pageoffice,让大家在10分钟内将这个需求解决掉。并且文章末会免费提供破解码哦!

先看效果:

部署步骤(只需5步)

1.官网http://www.zhuozhengsoft.com/dowm/下载集成文件,引入jar包,配置web.xml

去刚才下载的集成文件中找到lib,将里面的内容放在项目web-inf的lib中引入jar包,然后将web.xml的pageoffice配置引入到自己项目的wb.xml中

2.在父页面aaa.jsp(需要打开文档的页面)放一个a标签或者button

写a标签之前先引入pageoffice需要的js文件

<script type="text/javascript" src="/jquery.min.js"></script>
<script type="text/javascript" src="/pageoffice.js" id="po_js_main"></script>

然后添加a标签

<a href="javascript:POBrowser.openWindowModeless('Word.jsp', 'width=1050px;height=900px;');">强制留痕打开文档</a>

3.在父页面同级目录下创建一个名为Word.jsp的文件

<%@ page language="java"import="java.util.*,com.zhuozhengsoft.pageoffice.*"pageEncoding="utf-8"%>
<%PageOfficeCtrl poCtrl=new PageOfficeCtrl(request);
//设置服务器页面poCtrl.setServerPage(request.getContextPath()+"/poserver.zz");
//添加自定义按钮poCtrl.addCustomToolButton("保存","Save",1);poCtrl.addCustomToolButton("隐藏痕迹","hideRevision",18);poCtrl.addCustomToolButton("显示痕迹","showRevision",9);
//设置保存页面poCtrl.setSaveFilePage("SaveFile.jsp");//打开Word文档poCtrl.webOpen("test.doc",OpenModeType.docRevisionOnly,"李斯");
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>
<head><meta charset="utf-8"><title>XX文档系统</title><style>#main{width:1040px;height:890px;border:#83b3d9 2px solid;background:#f2f7fb;}#shut{width:45px;height:30px;float:right;margin-right:-1px;}#shut:hover{}</style>
</head>
<body style="margin:0; padding:0;border:0px; overflow:hidden" scroll="no"><script type="text/javascript">function Save() {document.getElementById("PageOfficeCtrl1").WebSave();}function showRevision() {document.getElementById("PageOfficeCtrl1").ShowRevisions = true;}function hideRevision() {document.getElementById("PageOfficeCtrl1").ShowRevisions = false;}
</script><div id="main"><div id="content"  style="height:850px;width:1036px;overflow:hidden;"><%=poCtrl.getHtmlCode("PageOfficeCtrl1")%></div>
</div>
</body>
</html>

4.在父页面同级目录下创建一个SaveFile.jsp文件

<%@ page language="java" import="java.util.*,com.zhuozhengsoft.pageoffice.*" pageEncoding="utf-8"%>
<%
FileSaver fs=new FileSaver(request,response);
fs.saveToFile(request.getSession().getServletContext().getRealPath("/")+"\\"+fs.getFileName());
fs.close();
%>

5.新建一个名为test.doc的word文件(如果新建的是docx文件就将第三步的poCtrl.webOpen("test.doc",OpenModeType.docRevisionOnly,"李斯");代码改为poCtrl.webOpen("test.docx",OpenModeType.docRevisionOnly,"李斯");

将新建的word文件随便编辑点内容放在父页面同级目录下.然后启动项目直接访问aaa.jsp点击链接.此时会提示安装插件,点击安装成功后提示注册,填写相关信息,填写注册码CA1XB-MF7Y-12ST-PSBP2就可以打开文档.

注意:如果需要更丰富的功能,大家可以去pageoffice官网下载示例代码直接将samples4文件夹扔到Tomcat的webapps下,启动Tomcat,浏览器访问http://localhost:8080/Samples4/index.html,查看示例中的下面一个链接,直接看samples4文件夹下RevisionOnly文件夹里面的代码.

刚开始接触pageoffice的话,也可以看视频快速上手.http://www.zhuozhengsoft.com/Technical/

如有侵权,请联系小编

Java实现在线打开word文档并强制留痕/留下痕迹相关推荐

  1. Java在线打开word文档实现手写批注

    前言: 有些OA系统会有用户在线对word文档添加手写批注的需求,这样的需求看似不好实现,其实是可以实现的. 但是这需要开发者具备将activex控件集成到Java环境的能力.对于大部分Java开发工 ...

  2. java 给word加水印,Java 实现在线给word 文档添加水印

    1:描述 在线编辑文档后需要添加专属水印.防止文档被盗用. 2:方案 用 pageoffice 提供的 添加水印的方法 3:核心代码 (1)后台方法添加文字水印 doc.getWaterMark(). ...

  3. Java打开word文档并执行指定宏命令

    前言: 我们都知道word中有一个宏功能,那我们能不能实现用Java语言在线打开word文档的同时,将指定宏代码运行呢?这是可以的.但是这需要开发者具备将activex控件集成到Java环境的能力.对 ...

  4. pageoffice 在线编辑 word 文档,保存之后返回自定义的值,并把值传到父页面

    1.    描述:最近项目有个在线编辑office 办公文档的功能, 采用的方案是用 pageoffice 在线编辑 office 文档. 因为高版本的谷歌和火狐不支持任何插件了.所以pageoffi ...

  5. 通达OA-公共文件柜在线阅读Word 文档失败:Word 无法创建工作文件,请检查临时环境变量

    问题如题,在通达的"公共文件柜"模块,在线阅读Word文档时,阅读失败,报错:Word 无法创建工作文件,请检查临时环境变量.问题如下面的截图: 解决过程: 1.最初的思路便是研究 ...

  6. (一)JAVA基于OPENXML的word文档插入、合并、替换操作系列之基础篇

    (一)JAVA基于OPENXML的word文档插入.合并.替换操作系列之基础篇 前言 什么是Open Xml? Open XML SDK 这系列笔记要做点什么? 涉及技术点 关于word.openxm ...

  7. Java通过freemarker生成word文档

    文档生成目录 摘要 项目预期效果 使用freemaker生成word文档并下载 一:导入所需要的maven依赖 二:根据word文档生成我们需要的ftl模板文件 三:将word需要的数据存入一个map ...

  8. Java使用freemarker生成word文档并转pdf文档

    Java使用freemarker生成word文档后转pdf 先来看看效果图 进入正题 项目需求: 为订单后生成对应的pdf文档,文档内包含图片. 方案一:使用freemarker和itext把html ...

  9. (五)、JAVA基于OPENXML的word文档插入、合并、替换操作系列之word文件合并[支持多文件]

    (五).JAVA基于OPENXML的word文档插入.合并.替换操作系列之word文件合并[支持多文件] 二.word合并的多种方案简单比较 三.基于Open Xml WordprocessingML ...

最新文章

  1. 【课堂笔记系列】二进制
  2. 用基于模型和接口的T4来生成RESTful服务
  3. MAP(Mean Average Precision):
  4. 【2012百度之星 / 资格赛】I:地图的省钱计划
  5. 【C/C++】知识点系统复习 (第一周)
  6. ONENET读取与控制麒麟座MINI开发板LED状态
  7. leetcode104 二叉树的最大深度
  8. 300GB*6 SCSI RAID5 LINUX服务器数据恢复手记
  9. java dump分析工具_Java虚拟机详解(七)------虚拟机监控和分析工具(1)
  10. pandas导出的csv文件用mysql-workbench导入报错
  11. 蓝牙 sig base uuid_西圣XISEM真无线蓝牙耳机ASN体验:轻盈舒适,声音悦耳_
  12. Mysql删除数据时出现执行很慢并且删除失败--线程堵塞
  13. Shell脚本学习-阶段二十九-运维使用的
  14. list 查找_趣味图解算法之二分查找
  15. 谷歌如何在设计上脱胎换骨
  16. 修改php.ini以达到 屏蔽错误信息
  17. Spring的9种设计模式(一)
  18. 超宽带 DWM1000模块 应用
  19. 《微观经济学》第六章供给、需求与政府政策
  20. HTML 界面画图工具

热门文章

  1. 【数据结构-学习笔记】算法的有穷性
  2. esp32 micropython连接继电器,天猫精灵控制继电器熄灭灯;连接控制舵机;d11温湿度传感器
  3. [解决办法]ubuntu14.04 adb devices无法识别手机
  4. Guns V3.0简介
  5. 【搞定CAD】经典练习题库解答、此题多解。
  6. html5-图片热区
  7. javascript对输入框的字数限制(转自愚人码头)
  8. php调用接口发送短信
  9. 解决DVWA“reCAPTCHA key: Missing”
  10. Acer 4750 安装黑苹果_zx50jx4200安装黑苹果的辛酸路