Java在線打開word文檔并強制留痕的方法
前言:
在OA系統(tǒng)中,時不時的都會伴隨著文檔流轉(zhuǎn)過程。
比如有的系統(tǒng)中會有領(lǐng)導(dǎo)審批的流程,那么在A領(lǐng)導(dǎo)審批完成后,他的審批痕跡能不能強制保留下來,以供下一步處理文檔的專員清晰地參考呢?
我們知道,在本地office打開的文檔中,如果點擊 審閱---修訂,就會將編輯的記錄跟蹤下來留下痕跡。
我們在線辦公的系統(tǒng)中能不能直接將這一步由我們系統(tǒng)來做,避免出現(xiàn)用戶操作不一致最終沒留下痕跡的現(xiàn)象呢?
這些需求在分析后看似很復(fù)雜,甚至想要實現(xiàn)時摸不著頭腦。
本篇文章直接介紹一個中間件技術(shù)-----pageoffice,讓大家在10分鐘內(nèi)將這個需求解決掉。并且文章末會免費提供破解碼哦!
先看效果:

部署步驟(只需5步)
1.官網(wǎng)http://www.zhuozhengsoft.com/dowm/下載集成文件,引入jar包,配置web.xml
去剛才下載的集成文件中找到lib,將里面的內(nèi)容放在項目web-inf的lib中引入jar包,然后將web.xml的pageoffice配置引入到自己項目的wb.xml中
2.在父頁面aaa.jsp(需要打開文檔的頁面)放一個a標(biāo)簽或者button
寫a標(biāo)簽之前先引入pageoffice需要的js文件
<script type="text/javascript" src="/jquery.min.js"></script> <script type="text/javascript" src="/pageoffice.js"></script>
然后添加a標(biāo)簽
<a href="javascript:POBrowser.openWindowModeless('Word.jsp', 'width=1050px;height=900px;');" rel="external nofollow" >強制留痕打開文檔</a>
3.在父頁面同級目錄下創(chuàng)建一個名為Word.jsp的文件
<%@ page language="java"
import="java.util.*,com.zhuozhengsoft.pageoffice.*"
pageEncoding="utf-8"%>
<%
PageOfficeCtrl poCtrl=new PageOfficeCtrl(request);
//設(shè)置服務(wù)器頁面
poCtrl.setServerPage(request.getContextPath()+"/poserver.zz");
//添加自定義按鈕
poCtrl.addCustomToolButton("保存","Save",1);
poCtrl.addCustomToolButton("隱藏痕跡","hideRevision",18);
poCtrl.addCustomToolButton("顯示痕跡","showRevision",9);
//設(shè)置保存頁面
poCtrl.setSaveFilePage("SaveFile.jsp");
//打開Word文檔
poCtrl.webOpen("test.doc",OpenModeType.docRevisionOnly,"李斯");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta charset="utf-8">
<title>XX文檔系統(tǒng)</title>
<style>
#main{
width:1040px;
height:890px;
border:#83b3d9 2px solid;
background:#f2f7fb;
}
#shut{
width:45px;
height:30px;
float:right;
margin-right:-1px;
}
#shut:hover{
}
</style>
</head>
<body scroll="no">
<script type="text/javascript">
function Save() {
document.getElementById("PageOfficeCtrl1").WebSave();
}
function showRevision() {
document.getElementById("PageOfficeCtrl1").ShowRevisions = true;
}
function hideRevision() {
document.getElementById("PageOfficeCtrl1").ShowRevisions = false;
}
</script>
<div>
<div >
<%=poCtrl.getHtmlCode("PageOfficeCtrl1")%>
</div>
</div>
</body>
</html>
4.在父頁面同級目錄下創(chuàng)建一個SaveFile.jsp文件
<%@ page language="java" import="java.util.*,com.zhuozhengsoft.pageoffice.*" pageEncoding="utf-8"%>
<%
FileSaver fs=new FileSaver(request,response);
fs.saveToFile(request.getSession().getServletContext().getRealPath("/")+"\\"+fs.getFileName());
fs.close();
%>
5.新建一個名為test.doc的word文件(如果新建的是docx文件就將第三步的
poCtrl.webOpen("test.doc",OpenModeType.docRevisionOnly,"李斯");
代碼改為poCtrl.webOpen("test.docx",OpenModeType.docRevisionOnly,"李斯");
將新建的word文件隨便編輯點內(nèi)容放在父頁面同級目錄下.然后啟動項目直接訪問aaa.jsp點擊鏈接.此時會提示安裝插件,點擊安裝成功后提示注冊,填寫相關(guān)信息,
填寫注冊碼CA1XB-MF7Y-12ST-PSBP2就可以打開文檔.
注意:如果需要更豐富的功能,大家可以去pageoffice官網(wǎng)下載示例代碼直接將samples4文件夾扔到Tomcat的webapps下,啟動Tomcat,
瀏覽器訪問http://localhost:8080/Samples4/index.html,查看示例中的下面一個鏈接,直接看samples4文件夾下RevisionOnly文件夾里面的代碼.
以上就是本次介紹的全部相關(guān)知識點,感謝大家的學(xué)習(xí)和對腳本之家的支持。
相關(guān)文章
spring cloud config 配置中心快速實現(xiàn)過程解析
這篇文章主要介紹了spring cloud config 配置中心快速實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08
SpringSecurit鹽值加密的密碼驗證以及強密碼驗證過程
在密碼加密過程中,鹽值的使用可以增強密碼的安全性,如果忘記存儲鹽值,將無法驗證密碼,強密碼應(yīng)包含數(shù)字、字母和特殊字符,長度應(yīng)在8到30位之間,以提高賬戶安全2023-03-03
Java警告:原發(fā)性版11需要目標(biāo)發(fā)行版11的解決方法和步驟
這篇文章主要介紹了Java警告:原發(fā)性版11需要目標(biāo)發(fā)行版11的解決方法和步驟,文中通過圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用java具有一定的參考借鑒價值,需要的朋友可以參考下2025-04-04
Springcloud服務(wù)注冊consul客戶端過程解析
這篇文章主要介紹了Springcloud服務(wù)注冊consul客戶端過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08

