文档章节

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

山里的红杏
 山里的红杏
发布于 2018/10/16 15:13
字数 880
阅读 35
收藏 17

前言:
我们知道,大型一点的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>

© 著作权归作者所有

共有 人打赏支持
山里的红杏
粉丝 10
博文 96
码字总数 61098
作品 0
私信 提问
PageOffice中如何调用ZoomSeal签章系统中的印章

首先,安装部署好卓正ZoomSeal电子签章系统,具体的安装部署方法请参考ZoomSeal电子签章系统的安装说明文档,此处不再赘述; 其次,在PageOffice的服务器端,通过设置“ZoomSealServer”属性...

山里的红杏
2018/09/10
0
0
基于 JAVA 开发识别PDF和图像文字的小程序

本项目的预算为 100000 元,由于众包的机制,审核通过后无法修改项目预算。 我们需要你基于 Java 开发一个桌面小程序,实现: 1,识别扫描件(图片)或者pdf的文字(包含表格),并按扫描件和...

曹勇
2016/11/07
27
12
java开发实现word在线编辑及流转

OA公文流转系统主要用于处理企业日常工作中内外部的各种公文,包括了公文的拟稿、审批、传阅、公告、归档,多层上级可以对下级撰写的公文进行逐级审批或修改,待最高级人员确认无误后即可进行...

山里的红杏
2018/05/08
0
0
word常用接口对象--WordDocument类

为了实现Word文档的在线编辑和使用,在PageOffice开发平台下开发出了WordDocument 类,它代表一个Word文档,既可以用来动态输出数据到Word文档并且控制其文档格式及编辑功能又可以用来读取用...

山里的红杏
2018/09/10
0
0
有没有将word转换为flash的好方法

最近的项目中用到了word文档的在线预览功能,类似于百度文库那种。word文档是通过程序自动生成的, 现在的思路是想把word通过java 程序转换成flah 文件,这个貌似类似于flshpaper 这样的工具...

浪漫的菜鸟
2012/12/12
1K
6

没有更多内容

加载失败,请刷新页面

加载更多

条形码设计软件BarTender实用教程——透明度样本标签

BarTender是一款优秀的标签、条形码、卡片以及RFID标签设计和打印软件。所有版本的BarTender都具有独立的设计和打印功能,对于更高级的用户,自动化版和企业自动化版本提供了更强大的集成功能...

ymy_666666
32分钟前
0
0
Sql--order by、desc降序、top

Sql--order by、desc降序、top ---------通过order by 语句进行排序: --1.降序order by 列名desc --2.升序order by 列名 或order by 列名asc --3.order by语句必须一定要放在整个sql语句的最...

linjin200
33分钟前
4
0
websocket wss所需的nginx配置以及解决golang作为服务端的跨域问题

下面的配置是微信小程序所需的wss的配置,这里为了方便,,也为了避免使用端口号,和原项目的配置写在一起了,因此使用了固定后缀/wss,以作区分,配置的重点就是location /wss 段,其之后的部分是原...

漫步海边小路
34分钟前
3
0
数字转换汉语中人民币的大写

最终结果输出:你输入的金额为:【123】 大写金额: [壹佰贰拾叁] 下面是实现代码: /** 6 * 数字转换为汉语中人民币的大写<br> 7 * 8 * @author Arvin 9 * @contact 94...

政旭Arvin
44分钟前
2
0
智能合约编程/Dapp漏洞 -- 默认可见性修饰符

Solidity函数有visibility指定符,标明函数如何被允许访问。Visibility决定一个函数是否能被用户,被其他派生合约,从外部调用,仅从内部调用等等。有4个visibility指定符.函数默认的visibil...

怎当她临去时秋波那一转
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部