Java在線打開(kāi)word文檔并強(qiáng)制留痕的方法
前言:
在OA系統(tǒng)中,時(shí)不時(shí)的都會(huì)伴隨著文檔流轉(zhuǎn)過(guò)程。
比如有的系統(tǒng)中會(huì)有領(lǐng)導(dǎo)審批的流程,那么在A領(lǐng)導(dǎo)審批完成后,他的審批痕跡能不能強(qiáng)制保留下來(lái),以供下一步處理文檔的專(zhuān)員清晰地參考呢?
我們知道,在本地office打開(kāi)的文檔中,如果點(diǎn)擊 審閱---修訂,就會(huì)將編輯的記錄跟蹤下來(lái)留下痕跡。
我們?cè)诰€辦公的系統(tǒng)中能不能直接將這一步由我們系統(tǒng)來(lái)做,避免出現(xiàn)用戶(hù)操作不一致最終沒(méi)留下痕跡的現(xiàn)象呢?
這些需求在分析后看似很復(fù)雜,甚至想要實(shí)現(xiàn)時(shí)摸不著頭腦。
本篇文章直接介紹一個(gè)中間件技術(shù)-----pageoffice,讓大家在10分鐘內(nèi)將這個(gè)需求解決掉。并且文章末會(huì)免費(fèi)提供破解碼哦!
先看效果:
部署步驟(只需5步)
1.官網(wǎng)http://www.zhuozhengsoft.com/dowm/下載集成文件,引入jar包,配置web.xml
去剛才下載的集成文件中找到lib,將里面的內(nèi)容放在項(xiàng)目web-inf的lib中引入jar包,然后將web.xml的pageoffice配置引入到自己項(xiàng)目的wb.xml中
2.在父頁(yè)面aaa.jsp(需要打開(kāi)文檔的頁(yè)面)放一個(gè)a標(biāo)簽或者button
寫(xiě)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" >強(qiáng)制留痕打開(kāi)文檔</a>
3.在父頁(yè)面同級(jí)目錄下創(chuàng)建一個(gè)名為Word.jsp的文件
<%@ page language="java" import="java.util.*,com.zhuozhengsoft.pageoffice.*" pageEncoding="utf-8"%> <% PageOfficeCtrl poCtrl=new PageOfficeCtrl(request); //設(shè)置服務(wù)器頁(yè)面 poCtrl.setServerPage(request.getContextPath()+"/poserver.zz"); //添加自定義按鈕 poCtrl.addCustomToolButton("保存","Save",1); poCtrl.addCustomToolButton("隱藏痕跡","hideRevision",18); poCtrl.addCustomToolButton("顯示痕跡","showRevision",9); //設(shè)置保存頁(yè)面 poCtrl.setSaveFilePage("SaveFile.jsp"); //打開(kāi)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.在父頁(yè)面同級(jí)目錄下創(chuàng)建一個(gè)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.新建一個(gè)名為test.doc的word文件(如果新建的是docx文件就將第三步的
poCtrl.webOpen("test.doc",OpenModeType.docRevisionOnly,"李斯");
代碼改為poCtrl.webOpen("test.docx",OpenModeType.docRevisionOnly,"李斯");
將新建的word文件隨便編輯點(diǎn)內(nèi)容放在父頁(yè)面同級(jí)目錄下.然后啟動(dòng)項(xiàng)目直接訪問(wèn)aaa.jsp點(diǎn)擊鏈接.此時(shí)會(huì)提示安裝插件,點(diǎn)擊安裝成功后提示注冊(cè),填寫(xiě)相關(guān)信息,
填寫(xiě)注冊(cè)碼CA1XB-MF7Y-12ST-PSBP2就可以打開(kāi)文檔.
注意:如果需要更豐富的功能,大家可以去pageoffice官網(wǎng)下載示例代碼直接將samples4文件夾扔到Tomcat的webapps下,啟動(dòng)Tomcat,
瀏覽器訪問(wèn)http://localhost:8080/Samples4/index.html,查看示例中的下面一個(gè)鏈接,直接看samples4文件夾下RevisionOnly文件夾里面的代碼.
以上就是本次介紹的全部相關(guān)知識(shí)點(diǎn),感謝大家的學(xué)習(xí)和對(duì)腳本之家的支持。
- Java 添加超鏈接到 Word 文檔方法詳解
- Java如何實(shí)現(xiàn)Word文檔分欄效果
- 如何通過(guò)Java打印Word文檔
- java實(shí)現(xiàn)word文檔轉(zhuǎn)pdf并添加水印的方法詳解
- Java 在 Word 文檔中使用新文本替換指定文本的方法
- 如何通過(guò)Java添加水印到Word文檔
- 如何通過(guò)Java實(shí)現(xiàn)加密、解密Word文檔
- Java 替換word文檔文字并指定位置插入圖片
- Java解析word,獲取文檔中圖片位置的方法
- Java實(shí)現(xiàn)用Freemarker完美導(dǎo)出word文檔(帶圖片)
- Java 在Word文檔中添加藝術(shù)字的示例
相關(guān)文章
Hibernate懶加載之<class>標(biāo)簽上的lazy
這篇文章主要介紹了Hibernate懶加載之<class>標(biāo)簽上的lazy,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02SpringBoot原理之自動(dòng)配置機(jī)制詳解
Springboot遵循“約定優(yōu)于配置”的原則,使用注解對(duì)一些常規(guī)的配置項(xiàng)做默認(rèn)配置,減少或不使用xml配置,讓你的項(xiàng)目快速運(yùn)行起來(lái),下面這篇文章主要給大家介紹了關(guān)于SpringBoot原理之自動(dòng)配置機(jī)制的相關(guān)資料,需要的朋友可以參考下2021-11-11java實(shí)現(xiàn)數(shù)字轉(zhuǎn)大寫(xiě)的方法
這篇文章主要介紹了 java實(shí)現(xiàn)數(shù)字轉(zhuǎn)大寫(xiě)的方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10java ClassLoader機(jī)制詳細(xì)講解
ClassLoader一個(gè)經(jīng)常出現(xiàn)又讓很多人望而卻步的詞,本文將試圖以最淺顯易懂的方式來(lái)講解 ClassLoader,希望能對(duì)不了解該機(jī)制的朋友起到一點(diǎn)點(diǎn)作用2016-07-07如何將Object類(lèi)轉(zhuǎn)換為實(shí)體類(lèi)
這篇文章主要介紹了如何將Object類(lèi)轉(zhuǎn)換為實(shí)體類(lèi),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08Java實(shí)現(xiàn)簡(jiǎn)單學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09Java中關(guān)于泛型、包裝類(lèi)及ArrayList的詳細(xì)教程
泛型可以在類(lèi)或方法中預(yù)支地使用未知的類(lèi)型。這篇文章主要介紹了Java中關(guān)于泛型、包裝類(lèi)及ArrayList的詳細(xì)教程,需要的朋友可以參考下2021-12-12IDEA神器一鍵查看Java字節(jié)碼及其他類(lèi)信息插件
這篇文章主要為大家介紹了一款I(lǐng)DEA神器,可以一鍵查看Java字節(jié)碼及其他類(lèi)信息,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-01-01基于logback 實(shí)現(xiàn)springboot超級(jí)詳細(xì)的日志配置
java web 下有好幾種日志框架,比如:logback,log4j,log4j2(slj4f 并不是一種日志框架,它相當(dāng)于定義了規(guī)范,實(shí)現(xiàn)了這個(gè)規(guī)范的日志框架就能夠用 slj4f 調(diào)用)。這篇文章主要介紹了基于logback springboot超級(jí)詳細(xì)的日志配置,需要的朋友可以參考下2019-06-06