前言:
咱们知道,大型一点的OA办公系统都会有不少在线处理office办公文档的需求。其中有一点也基本绕不开,那就是为文档盖章或添加手写签名来保护文档,让被盖章的文档再也不被编辑。javascript
在Java中,咱们都知道用于操做office的解决方案经常使用的有POI、OpenOffice等。可是这些解决方案有一个通病就是功能少,并且对于office文档的操做在格式上会常常出问题。这是对OA系统的一大考验,一旦文档格式出错,那文档一定崩溃,用户体验度极差。html
因此咱们必须找到一款在线上直接调用微软office程序接口的插件才够稳定,文档格式问题才能够完全放心。本篇文章我就来介绍一个容易上手,功能强大的中间件技术——pageoffice。本篇文章末尾也会免费分享pageoffice的激活码。java
先看效果:
点击加盖印章jquery
输入盖章人用户名密码(本身系统能够自定义添加,这里输入默认的:李志:111111)web
选择印章(开发人员能够为操做者自由添加须要的印章)less
最后效果(盖上去以后文档被保护)jsp
部署步骤(只需5步)
1.官网http://www.zhuozhengsoft.com/dowm/下载集成文件,引入jar包,配置web.xml插件
去刚才下载的集成文件中找到lib,将里面的内容放在项目web-inf的lib中引入jar包,而后将web.xml的pageoffice配置引入到本身项目的wb.xml中orm
2.在父页面aaa.jsp(须要打开文档的页面)放一个a标签或者button
写a标签以前先引入pageoffice须要的js文件server
<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('insertseal.jsp','width=1200px;height=800px;')" style=" color:#0108f6; text-decoration:underline;">打开word文件进行盖章</a> 3.在父页面同级目录下建立一个名为insertseal.jsp的文件 <%@ page import="com.zhuozhengsoft.pageoffice.PageOfficeCtrl" %> <%@ page import="com.zhuozhengsoft.pageoffice.OpenModeType" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% //建立pageoffice核心对象 PageOfficeCtrl poCtrl = new PageOfficeCtrl(request); //设置受权地址,必须. 没必要修改 poCtrl.setServerPage(request.getContextPath()+"/poserver.zz"); //添加"加盖印章"自定义按钮 poCtrl.addCustomToolButton("加盖印章", "InsertSeal()", 2); //添加"删除印章"自定义按钮 poCtrl.addCustomToolButton("删除印章", "DeleteSeal()", 21); //设置执行保存文件代码的请求地址 poCtrl.setSaveFilePage("saveFile.jsp"); //打开test.doc文件,打开方式为普通编辑模式,文档操做者为张三 poCtrl.webOpen("test.doc",OpenModeType.docNormalEdit,"张三"); %> <html> <head> <title>Title</title> <script type="text/javascript"> //加盖印章 function InsertSeal() { try { document.getElementById("PageOfficeCtrl1").ZoomSeal.AddSeal(); } catch(e) {} } //删除印章 function DeleteSeal(){ var iCount = document.getElementById("PageOfficeCtrl1").ZoomSeal.Count;//获取当前文档中加盖的印章数量 if(iCount > 0){ document.getElementById("PageOfficeCtrl1").ZoomSeal.Item(iCount-1).DeleteSeal();//删除最后一个印章,Item 参数下标从 0 开始 alert("成功删除了最新加盖的印章。"); }else{ alert("请先在文档中加盖印章后,再执行删除操做。"); } } </script> </head> <body> <%--在页面显示pageoffice控件--%> <div style="width: auto; height: 700px;"> <%=poCtrl.getHtmlCode("PageOfficeCtrl1")%> </div> </body> </html>