前言:

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

在Java中,我们都知道用于操作office的解决方案常用的有POI、OpenOffice等。但是这些解决方案有一个通病就是功能少,而且对于office文档的操作在格式上会经常出问题。这是对OA系统的一大考验,一旦文档格式出错,那文档必定崩溃,用户体验度极差。

所以我们必须找到一款在线上直接调用微软office程序接口的插件才够稳定,文档格式问题才可以彻底放心。本篇文章我就来介绍一个容易上手,功能强大的中间件技术——pageoffice。本篇文章末尾也会免费分享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("请先在文档中加盖印章后,再执行删除操作。");}}</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文件夹里面的代码.

如有侵权,请联系小编

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

  1. Java实现在线打开word文档并强制留痕/留下痕迹

    前言: 在OA系统中,时不时的都会伴随着文档流转过程.比如有的系统中会有领导审批的流程,那么在A领导审批完成后,他的审批痕迹能不能强制保留下来,以供下一步处理文档的专员清晰地参考呢? 我们知道,在本地 ...

  2. Java在线打开word文档实现手写批注

    前言: 有些OA系统会有用户在线对word文档添加手写批注的需求,这样的需求看似不好实现,其实是可以实现的. 但是这需要开发者具备将activex控件集成到Java环境的能力.对于大部分Java开发工 ...

  3. java 给word加水印,Java 实现在线给word 文档添加水印

    1:描述 在线编辑文档后需要添加专属水印.防止文档被盗用. 2:方案 用 pageoffice 提供的 添加水印的方法 3:核心代码 (1)后台方法添加文字水印 doc.getWaterMark(). ...

  4. Java打开word文档并执行指定宏命令

    前言: 我们都知道word中有一个宏功能,那我们能不能实现用Java语言在线打开word文档的同时,将指定宏代码运行呢?这是可以的.但是这需要开发者具备将activex控件集成到Java环境的能力.对 ...

  5. pageoffice 在线编辑 word 文档,保存之后返回自定义的值,并把值传到父页面

    1.    描述:最近项目有个在线编辑office 办公文档的功能, 采用的方案是用 pageoffice 在线编辑 office 文档. 因为高版本的谷歌和火狐不支持任何插件了.所以pageoffi ...

  6. 通达OA-公共文件柜在线阅读Word 文档失败:Word 无法创建工作文件,请检查临时环境变量

    问题如题,在通达的"公共文件柜"模块,在线阅读Word文档时,阅读失败,报错:Word 无法创建工作文件,请检查临时环境变量.问题如下面的截图: 解决过程: 1.最初的思路便是研究 ...

  7. (一)JAVA基于OPENXML的word文档插入、合并、替换操作系列之基础篇

    (一)JAVA基于OPENXML的word文档插入.合并.替换操作系列之基础篇 前言 什么是Open Xml? Open XML SDK 这系列笔记要做点什么? 涉及技术点 关于word.openxm ...

  8. Java通过freemarker生成word文档

    文档生成目录 摘要 项目预期效果 使用freemaker生成word文档并下载 一:导入所需要的maven依赖 二:根据word文档生成我们需要的ftl模板文件 三:将word需要的数据存入一个map ...

  9. Java使用freemarker生成word文档并转pdf文档

    Java使用freemarker生成word文档后转pdf 先来看看效果图 进入正题 项目需求: 为订单后生成对应的pdf文档,文档内包含图片. 方案一:使用freemarker和itext把html ...

  10. (五)、JAVA基于OPENXML的word文档插入、合并、替换操作系列之word文件合并[支持多文件]

    (五).JAVA基于OPENXML的word文档插入.合并.替换操作系列之word文件合并[支持多文件] 二.word合并的多种方案简单比较 三.基于Open Xml WordprocessingML ...

最新文章

  1. android 可折叠标题栏,ViewPager + Fragment + 折叠式标题栏异常
  2. c/c++ g++默认编译调用成功,O2优化却发生Segmentation fault
  3. [CF587F]Duff is Mad[AC自动机+根号分治+分块]
  4. 通过崩溃地址找错误行数之Delphi版
  5. 使用LinkedList模拟一个堆栈或者队列数据结构
  6. oracle 正则表达式匹配日期格式,利用正则表达式找出不合符的日期
  7. redis查看key的过期时间_面试官:Redis过期后key是怎么样清理的?
  8. nfa确定化 dfa最小化_深度学习中的不确定性
  9. 软件工程导论 05章总体设计
  10. mysql+修改数据恢复_MySQL 误操作后数据恢复(update,delete忘加where条件)
  11. TCP/IP 报文格式(IP数据包、TCP报头、UDP报头)
  12. Win10用注册表开启任务栏透明
  13. hdu2122 poj2485 最小生成树
  14. thought works培训总结
  15. 如何甄别应聘者简历的包装程度?
  16. 已知华氏温度f c语言,编程题:已知两种温度的换算公式C=(5/9)(F-32),试编写一个程序输入华氏度F,输出摄氏度。...
  17. Boostrap nav和navbar的详细使用
  18. wapl是什么功能?启用有什么用
  19. tdd干扰波形_TDD-LTE上行干扰定位方法及排查指导手册.doc
  20. vb语言中怎样编码窗体中所有字体加粗_VB窗口属性中文对照表

热门文章

  1. rgb sw 线主板接口在哪_火力升级 华硕B460重炮手PRO主板豪横上市_搜狐汽车
  2. 三星数据被黑客泄露、罗马尼亚加油站网络遭勒索攻击|3月8日全球网络安全热点
  3. 资讯美国悬赏1000万美元追捕勒索黑客、能源行业成为网络钓鱼攻击“重灾区”|11月8日全球网络安全热点
  4. 利用层次分析法对熵权法进行修正
  5. 数据库表需要添加字段SQL怎么写!
  6. github代理-github
  7. Axure模板库(2)-注册登录
  8. 基于stm32 ESP8266WiFi模块的基本通信
  9. 小白入门必学——时间复杂度
  10. 阿里云文本内容审核服务入门~