当前位置: 首页 > 编程笔记 >

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

卢鸿彩
2023-03-14
本文向大家介绍Java在线打开word文档并强制留痕的方法,包括了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文件夹里面的代码. 

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

 类似资料:
  • 问题内容: 我有一个Windows实用程序,用于打开Word文档,从其中提取数据并使用该数据生成另一个Word文档。 现在我的问题是,该Windows exe可直接在命令提示符下正常运行,但是如果我通过jenkins调用此exe,即构建步骤“执行Windows批处理命令”,则会出现错误,无法打开Word文档,因此存在实用性错误。 我也尝试过其他选项,例如从pom文件和批处理文件调用exe。每当它给

  • 问题内容: 我需要打开一个文件(我并不挑剔,我只想让它工作),将其解析为占位符(或类似的东西),放入我自己的数据,然后返回生成的文件。 最重要的是,我需要免费的工具来实现这一目标。 我一直在寻找适合自己需求的东西,但找不到任何东西。Docmosis,Javadocx,Aspose等工具是商业化的。据我了解,Apache POI尚无法成功实现这一目标(他们目前还没有任何正式的开发人员在框架的Word

  • 问题内容: 我想从Java程序中打开excel文档。实际上,我想在程序中单击按钮时打开excel文档。我努力了 其中workbook.xls位于项目文件夹的根目录中,但不起作用。异常表示无法打开程序workbook.xls。我怎样才能做到这一点 问题答案: 我想您要使用默认程序(例如Excel)打开Excel文件吗?如果是这样,您可以使用-class:

  • 我在VBA Excel中开发了一个小程序。这是一个好的开始,但我调整了一些预设--一个网站推荐这将是从MS Word提取文本。我将正在处理的所有代码剥离为以下代码: 它打开任务管理器中引用的Word文档,但不是从界面中引用的。

  • 本文向大家介绍C#实现简单合并word文档的方法,包括了C#实现简单合并word文档的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现简单合并word文档的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的C#程序设计有所帮助。

  • HTML 5 我想要的行为类似于iOS 8或更低版本中的一种,即启用多个文件的输入无法打开相机