前言:
在我们的web系统中,有时会有合同公文等 一些需要在网页上打开的word文件。并且也会伴随着安全浏览的需求:比如,担心用户将文件私自修改,有禁止编辑的需求;担心用户将文档的内容直接复制拷贝出去以做他用,便有禁止复制拷贝的需求。

要完成这种需求,如果从头到尾由我们自己来实现的话,首先要会集成ActiveX控件,其次还要懂一些VBA编程,最重要的是还要让这些技术整合到Java中。对于我们开发web系统的开发人员来说,只是需要将word文件在web系统中打开并且做一些简单操作,就要学习如此多的技术,未免学习成本太大。

所以我们今天就要介绍一个中间件技术——pageoffice,此中间件技术已经将 在web系统操作office文档的大部分功能整合完毕,大家只需要关注自己web系统的业务逻辑即可,下面我们来实战将pageoffice集成一下。

方案

在线打开word禁用拷贝的三种方式:
1 使用AllowCopy属性,效果:所有的word进程都不能进行拷贝操作
  Java 在线打开 word 文件,并且禁止复制-LMLPHP

2  禁止word选择功能,效果:因为无法选择,所以无法拷贝
Java 在线打开 word 文件,并且禁止复制-LMLPHP
3 使用 DisableCopyOnly属性,效果:禁止拷贝文档内容到外部,但内部是可以拷贝的,也可以从外部拷贝到word文档内部

具体实现过程

1.官网http://www.zhuozhengsoft.com/dowm/下载集成文件,引入jar包,配置web.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('Default.jsp' , 'width=1200px;height=800px;');">打开文档,禁止复制</a>

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

<%@ page language="java"
	import="java.util.*,com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*"
	pageEncoding="utf-8"%>
<%
//******************************卓正PageOffice组件的使用*******************************
	//设置PageOffice服务器组件
	PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
	poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必须


	//设置保存页面
	poCtrl1.setSaveFilePage("SaveFile.jsp");
    WordDocument doc = new WordDocument();

//=================三种方案只需用一种就可以==============================

    //第一种方案 禁止拷贝
	poCtrl1.setAllowCopy(false);//禁止拷贝

    //第二种方案 禁止word选择功能
	doc.setDisableWindowSelection(true);

    //第三种方案 禁止拷贝文档内容到外部
    poCtrl.setDisableCopyOnly(true);

//===================================================================

	//设置页面的显示标题
	poCtrl1.setCaption("演示:文件在线安全浏览");
    poCtrl1.setWriter(doc);

	//打开文件
	poCtrl1.webOpen("d:\\aa.doc", OpenModeType.docReadOnly, "张三");
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>演示:文件在线安全浏览</title>
  </head>

  <body>
  <script type="text/javascript">

    </script>
    <div style=" width:900px; height:700px;">
          <%=poCtrl1.getHtmlCode("PageOfficeCtrl1")%>
    </div>
  </body>
</html>

4:d盘 新建一个 aa.doc 文件

启动项目直接访问.此时会提示安装插件,点击安装成功后提示注册,填写相关信息,填写注册码    I7TGD-71VV-FYD8-4NMYP   就可以打开文档.

最终效果

http://www.pageoffice.cn:8080/Samples4/

访问上面的链接看看下面对应的示例

Java 在线打开 word 文件,并且禁止复制-LMLPHP

Java 在线打开 word 文件,并且禁止复制-LMLPHP

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

Java 在线打开 word 文件,并且禁止复制-LMLPHP

08-09 20:09