Java实现在线打开word文档加盖印章/盖章/签名功能
前言:
我们知道,大型一点的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文档加盖印章/盖章/签名功能相关推荐
- Java实现在线打开word文档并强制留痕/留下痕迹
前言: 在OA系统中,时不时的都会伴随着文档流转过程.比如有的系统中会有领导审批的流程,那么在A领导审批完成后,他的审批痕迹能不能强制保留下来,以供下一步处理文档的专员清晰地参考呢? 我们知道,在本地 ...
- Java在线打开word文档实现手写批注
前言: 有些OA系统会有用户在线对word文档添加手写批注的需求,这样的需求看似不好实现,其实是可以实现的. 但是这需要开发者具备将activex控件集成到Java环境的能力.对于大部分Java开发工 ...
- java 给word加水印,Java 实现在线给word 文档添加水印
1:描述 在线编辑文档后需要添加专属水印.防止文档被盗用. 2:方案 用 pageoffice 提供的 添加水印的方法 3:核心代码 (1)后台方法添加文字水印 doc.getWaterMark(). ...
- Java打开word文档并执行指定宏命令
前言: 我们都知道word中有一个宏功能,那我们能不能实现用Java语言在线打开word文档的同时,将指定宏代码运行呢?这是可以的.但是这需要开发者具备将activex控件集成到Java环境的能力.对 ...
- pageoffice 在线编辑 word 文档,保存之后返回自定义的值,并把值传到父页面
1. 描述:最近项目有个在线编辑office 办公文档的功能, 采用的方案是用 pageoffice 在线编辑 office 文档. 因为高版本的谷歌和火狐不支持任何插件了.所以pageoffi ...
- 通达OA-公共文件柜在线阅读Word 文档失败:Word 无法创建工作文件,请检查临时环境变量
问题如题,在通达的"公共文件柜"模块,在线阅读Word文档时,阅读失败,报错:Word 无法创建工作文件,请检查临时环境变量.问题如下面的截图: 解决过程: 1.最初的思路便是研究 ...
- (一)JAVA基于OPENXML的word文档插入、合并、替换操作系列之基础篇
(一)JAVA基于OPENXML的word文档插入.合并.替换操作系列之基础篇 前言 什么是Open Xml? Open XML SDK 这系列笔记要做点什么? 涉及技术点 关于word.openxm ...
- Java通过freemarker生成word文档
文档生成目录 摘要 项目预期效果 使用freemaker生成word文档并下载 一:导入所需要的maven依赖 二:根据word文档生成我们需要的ftl模板文件 三:将word需要的数据存入一个map ...
- Java使用freemarker生成word文档并转pdf文档
Java使用freemarker生成word文档后转pdf 先来看看效果图 进入正题 项目需求: 为订单后生成对应的pdf文档,文档内包含图片. 方案一:使用freemarker和itext把html ...
- (五)、JAVA基于OPENXML的word文档插入、合并、替换操作系列之word文件合并[支持多文件]
(五).JAVA基于OPENXML的word文档插入.合并.替换操作系列之word文件合并[支持多文件] 二.word合并的多种方案简单比较 三.基于Open Xml WordprocessingML ...
最新文章
- android 可折叠标题栏,ViewPager + Fragment + 折叠式标题栏异常
- c/c++ g++默认编译调用成功,O2优化却发生Segmentation fault
- [CF587F]Duff is Mad[AC自动机+根号分治+分块]
- 通过崩溃地址找错误行数之Delphi版
- 使用LinkedList模拟一个堆栈或者队列数据结构
- oracle 正则表达式匹配日期格式,利用正则表达式找出不合符的日期
- redis查看key的过期时间_面试官:Redis过期后key是怎么样清理的?
- nfa确定化 dfa最小化_深度学习中的不确定性
- 软件工程导论 05章总体设计
- mysql+修改数据恢复_MySQL 误操作后数据恢复(update,delete忘加where条件)
- TCP/IP 报文格式(IP数据包、TCP报头、UDP报头)
- Win10用注册表开启任务栏透明
- hdu2122 poj2485 最小生成树
- thought works培训总结
- 如何甄别应聘者简历的包装程度?
- 已知华氏温度f c语言,编程题:已知两种温度的换算公式C=(5/9)(F-32),试编写一个程序输入华氏度F,输出摄氏度。...
- Boostrap nav和navbar的详细使用
- wapl是什么功能?启用有什么用
- tdd干扰波形_TDD-LTE上行干扰定位方法及排查指导手册.doc
- vb语言中怎样编码窗体中所有字体加粗_VB窗口属性中文对照表
热门文章
- rgb sw 线主板接口在哪_火力升级 华硕B460重炮手PRO主板豪横上市_搜狐汽车
- 三星数据被黑客泄露、罗马尼亚加油站网络遭勒索攻击|3月8日全球网络安全热点
- 资讯美国悬赏1000万美元追捕勒索黑客、能源行业成为网络钓鱼攻击“重灾区”|11月8日全球网络安全热点
- 利用层次分析法对熵权法进行修正
- 数据库表需要添加字段SQL怎么写!
- github代理-github
- Axure模板库(2)-注册登录
- 基于stm32 ESP8266WiFi模块的基本通信
- 小白入门必学——时间复杂度
- 阿里云文本内容审核服务入门~