Java在线打开word文档并强制留痕的方法

前言:

在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"></script>

然后添加a标签

<a href="javascript:POBrowser.openWindowModeless('Word.jsp', 'width=1050px;height=900px;');" rel="external nofollow" >强制留痕打开文档</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 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>

	<div >
		<%=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文件夹里面的代码.

以上就是本次介绍的全部相关知识点,感谢大家的学习和对我们的支持。

(0)

相关推荐

  • Java在线打开word文档并强制留痕的方法

    前言: 在OA系统中,时不时的都会伴随着文档流转过程. 比如有的系统中会有领导审批的流程,那么在A领导审批完成后,他的审批痕迹能不能强制保留下来,以供下一步处理文档的专员清晰地参考呢? 我们知道,在本地office打开的文档中,如果点击 审阅---修订,就会将编辑的记录跟踪下来留下痕迹. 我们在线办公的系统中能不能直接将这一步由我们系统来做,避免出现用户操作不一致最终没留下痕迹的现象呢? 这些需求在分析后看似很复杂,甚至想要实现时摸不着头脑. 本篇文章直接介绍一个中间件技术-----pageof

  • Java如何获取word文档的条目化内容

    在开发Web办公系统或文档系统时,PageOffice组件是众所周知的在线处理微软word/ppt/excel文档的强大工具,它对WORD文档的各种处理在API层面进行了封装,屏蔽了Office VBA接口的复杂性,而又不失VBA的强大功能,在此要分享的正是PageOffice封装的一个很强大的功能:获取word文档的条目化内容.在一个包含了文档处理功能的办公系统里,用户出于各种原因,希望能通过程序自动分析word文档中每个章节的内容也是一种合理的需求,而PageOffice为实现此功能提供的接

  • JavaScript打开word文档的实现代码(c#)

    在C#中打开word文档其实不算太难,方法也比较多. 一.C#中打开word文档方法 复制代码 代码如下: //在项目引用里添加上对Microsoft Word 11.0 object library的引用 private void button1_Click(object sender, System.EventArgs e) { //调用打开文件对话框获取要打开的文件WORD文件,RTF文件,文本文件路径名称 OpenFileDialog opd = new OpenFileDialog()

  • javascript打开word文档的方法

    首先我们新建一个html文件,并且写一个FileUpLoad以及button控件. 代码如下: 复制代码 代码如下: <input id="flUpload" type="file" />fileUpload <input id="btnOpenFile" type="button" value="button" onclick="OpenFile()" /> 然

  • js打开word文档预览操作示例【不是下载】

    本文实例讲述了js打开word文档预览操作.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script> function openmydoc(path) { var doc = new ActiveXObject("

  • 如何通过Java添加水印到Word文档

    前言 水印是一种常用于各种文档的声明.防伪手段,一般可设置文字水印或者加载图片作为水印.以下内容将分享通过Java编程给Word文档添加水印效果的方法,即 文本水印 图片水印 使用工具:Free Spire.Doc for Java 2.0.0(免费版) Jar导入: 方法1:通过官网下载控件包.在程序下新建一个directory目录,并命名(本示例中命名为lib):将控件包lib文件夹下的jar(如下图1)拷贝到程序中新建的目录下. 图1: 复制jar文件后,鼠标右键点击jar文件,选择"Ad

  • java实现word文档转pdf并添加水印的方法详解

    本文实例讲述了java实现word文档转pdf并添加水印的方法.分享给大家供大家参考,具体如下: 前段时间,项目需要自动生成word文档,用WordFreeMarker生成word文档后,又要求生成的文档能在浏览器浏览,思来想去,把word文档转成pdf就好了,于是乎研究了一下. 将word文档转化为PDF是项目中常见的需求之一,目前主流的方法可以分为两大类,一类是利用各种Office应用进行转换,譬如Microsoft Office.WPS以及LiberOffice,另一种是利用各种语言提供的

  • Java如何给Word文档添加多行文字水印

    前言 我在以往的文章中曾介绍过如何给Word文档添加文本水印和图片水印,及怎样删除文档中的水印.关于文本水印,之前那篇教程里主要指的是单行字体的水印,而在操作Word文档时,有时也会碰到需要添加多行文字水印的情况.所以,本文将演示如何使用Java程序来为Word文档添加多行文字水印. 代码测试环境: Intellij Idea2019.1 JDK 1.8.0 Spire.Doc.jar Jar包获取及导入 方法一:手动将Jar包导入IDEA.具体步骤如下: 步骤 1:在 E-iceblue中文官

  • Java实现合并word文档的示例代码

    目录 说明 实现 1.首先定义好主文档 2.定义需要追加的文档 3. 代码实现 4. 成果展示 说明 在做项目中,遇到了一种情况,需要将一个小word文档的内容插入到一个大word(主文档)中. 实现 1.首先定义好主文档 在主文档需要插入小word文档的位置上添加一个书签,这个书签名字要记住,后面要用. 2.定义需要追加的文档 3. 代码实现 package com.test.word; import com.aspose.words.Body; import com.aspose.words

  • python-docx修改已存在的Word文档的表格的字体格式方法

    搞了好几天的表格字体格式,一直想找一种能直接一次性修改表格所有字体格式的方法(函数),但是无论用什么方法都无法修改表格字体的格式,原因应该是已存在的文档本身就具有某种格式限制,制约着里面表格里面字体格式的更改,直接用类似:table.style.font.name='Arial',table.style.font.size = 120000-.之类的函数是不能更改表格的字体格式的(PS:可能该功能在开发中,也可能我没找到对应直接修改整个表格里面字体的方法) 但是后来发现表格里面用run = ad

随机推荐