Java實現在線打開word文檔並強制留痕/留下痕跡


前言:
在OA系統中,時不時的都會伴隨着文檔流轉過程。

比如有的系統中會有領導審批的流程,那么在A領導審批完成后,他的審批痕跡能不能強制保留下來,以供下一步處理文檔的專員清晰地參考呢?

我們知道,在本地office打開的文檔中,如果點擊 審閱---修訂,就會將編輯的記錄跟蹤下來留下痕跡。

我們在線辦公的系統中能不能直接將這一步由我們系統來做,避免出現用戶操作不一致最終沒留下痕跡的現象呢?

這些需求在分析后看似很復雜,甚至想要實現時摸不着頭腦。

本篇文章直接介紹一個中間件技術-----pageoffice,讓大家在10分鍾內將這個需求解決掉。並且文章末會免費提供破解碼哦!

先看效果:

 

 


 部署步驟(只需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('Word.jsp', 'width=1050px;height=900px;');">強制留痕打開文檔</a>

 


3.在父頁面同級目錄下創建一個名為Word.jsp的文件

<%@ page language="java"
		 import="java.util.*,com.zhuozhengsoft.pageoffice.*"
		 pageEncoding="utf-8"%>
<%
	PageOfficeCtrl poCtrl=new PageOfficeCtrl(request);
//設置服務器頁面
	poCtrl.setServerPage(request.getContextPath()+"/poserver.zz");
//添加自定義按鈕
	poCtrl.addCustomToolButton("保存","Save",1);
	poCtrl.addCustomToolButton("隱藏痕跡","hideRevision",18);
	poCtrl.addCustomToolButton("顯示痕跡","showRevision",9);
//設置保存頁面
	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文檔系統</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 style="margin:0; padding:0;border:0px; overflow:hidden" 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 id="main">
 
	<div id="content"  style="height:850px;width:1036px;overflow:hidden;">
		<%=poCtrl.getHtmlCode("PageOfficeCtrl1")%>
	</div>
</div>
</body>
</html>
 

  



4.在父頁面同級目錄下創建一個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文件隨便編輯點內容放在父頁面同級目錄下.然后啟動項目直接訪問aaa.jsp點擊鏈接.此時會提示安裝插件,點擊安裝成功后提示注冊,填寫相關信息,

填寫注冊碼CA1XB-MF7Y-12ST-PSBP2就可以打開文檔.
注意:如果需要更豐富的功能,大家可以去pageoffice官網下載示例代碼直接將samples4文件夾扔到Tomcat的webapps下,啟動Tomcat,

瀏覽器訪問http://localhost:8080/Samples4/index.html,查看示例中的下面一個鏈接,直接看samples4文件夾下RevisionOnly文件夾里面的代碼.
 

 

剛開始接觸pageoffice的話,也可以看視頻快速上手

.http://www.zhuozhengsoft.com/Technical/

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM