前言:
咱們知道,大型一點的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>