Java实现在线打开word文档加盖印章/盖章/签名功能_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java实现在线打开word文档加盖印章/盖章/签名功能

Java实现在线打开word文档加盖印章/盖章/签名功能

 2018/10/16 18:45:25  妮子321  程序员俱乐部  我要评论(0)
  • 摘要:OA办公系统都会有很多在线处理office办公文档的需求。其中有一点也基本绕不开,那就是为文档盖章或添加手写签名来保护文档,让被盖章的文档不再被编辑。在Java中,用于操作office的解决方案常用的有POI、OpenOffice等。但是这些解决方案都是功能少不够用,对于office文档的操作在格式上会经常出问题。常见的文档格式出错,文档崩溃,用起来差强人意。在线编辑office插件pageoffice上手容易。效果:点击加盖印章输入盖章人用户名密码(自己系统可以自定义添加,这里输入默认的
  • 标签:功能 文档 实现 Java 在线

OA办公系统都会有很多在线处理office办公文档的需求。其中有一点也基本绕不开,那就是为文档盖章或添加手写签名来保护文档,让被盖章的文档不再被编辑。

?

在Java中,用于操作office的解决方案常用的有POI、OpenOffice等。但是这些解决方案都是功能少不够用,对于office文档的操作在格式上会经常出问题。常见的文档格式出错,文档崩溃,用起来差强人意。

在线编辑office插件pageoffice上手容易。

?

效果:

点击加盖印章

?

?

?

输入盖章人用户名密码(自己系统可以自定义添加,这里输入默认的:李志:111111)

?

?

?

选择印章(开发人员可以为操作者自由添加需要的印章)

?

?

?

最后效果(盖上去之后文档被保护)

?

?

?

?部署步骤(只需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('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("请先在文档中加盖印章后,再执行caozuo.html" target="_blank">删除操作。");

? ? ? ? ? ? }

? ? ? ? }

? ? </script>

</head>

<body>

<%--在页面显示pageoffice控件--%>

<div style="width: auto; height: 700px;">

? ? <%=poCtrl.getHtmlCode("PageOfficeCtrl1")%>

</div>

</body>

</html>

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

<%@ page import="com.zhuozhengsoft.pageoffice.FileSaver" %>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%

? ? //创建保存文件对象

? ? FileSaver fs = new FileSaver(request, response);

? ? //将文件保存到根目录

? ? fs.saveToFile(request.getSession().getServletContext().getRealPath("/")+fs.getFileName());

? ? //关闭保存文件对象,必须,否则报错

? ? fs.close();

%>

<html>

<head>

? ? <title>Title</title>

</head>

<body>

?

</body>

</html>

5.新建一个名为test.doc的word文件(如果新建的是docx文件就将第三步的poCtrl.webOpen("test.doc",OpenModeType.docNormalEdit,"张三");代码改为poCtrl.webOpen("test.docx",OpenModeType.docNormalEdit,"张三");)放在父页面同级目录下.然后启动项目直接访问aaa.jsp点击链接.此时会提示安装插件,点击安装成功后提示注册,填写相关信息,填写注册码CA1XB-MF7Y-12ST-PSBP2就可以打开文档.

? 注意:如果想添加修改印章,可以访问刚才集成pageoffice的项目根目录/adminseal.zz(如http://localhost:8080/项目名/adminseal.zz),登录印章管理平台进行操作.密码111111.

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

发表评论
用户名: 匿名