1、在開發OA辦公或與文檔相關的Web系統中,不免會遇到這樣的需求,須要在word文件中指定一個位置,而後在指定的位置賦值或者插入文件,這樣就須要在線動態建立書籤的功能。javascript
今天主要介紹用 pageoffice 組件實如今線動態建立書籤。html
兩種方法java
1:後臺java代碼建立書籤(後臺建立書籤又必定的侷限性:只能在文檔的首、尾或者原有書籤的先後)。jquery
2:用js方法添加書籤,js 方法添加書籤比較方便,能夠在光標所在的位置添加。web
注意:pageoffice 組件裏面的數據區域也就是書籤,可是必須以 PO_ 開頭,而且是惟一的。一個文檔中不能出現多個數據區域(書籤)。下面的介紹中都會用數據區域。less
2、核心代碼jsp
3、具體的實現過程測試
具體實現過程ui
1.官網http://www.zhuozhengsoft.com/dowm/下載集成文件,引入jar包,配置web.xmlspa
寫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('DataRegionCreate.jsp' , 'width=1200px;height=800px;');">動態建立數據區域</a>
<%@ page language="java" import="java.util.*,com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*" pageEncoding="utf-8"%> <% PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request); poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必須 //添加自定義按鈕 poCtrl1.addCustomToolButton("插入書籤","addBookMark",5); WordDocument doc=new WordDocument(); //建立數據區域,createDataRegion 方法中的三個參數分別表明「新建的數據區域名稱」,「數據區域將要插入的位置」, //「與新建的數據區域相關聯的數據區域名稱」,若當前Word文檔中尚無數據區域(書籤)或者想在文檔的最開頭建立時,那麼第三個參數爲「[home]」 //若想在文檔的結尾處建立數據區域則第三個參數爲「[end]」 DataRegion dataRegion1 = doc.createDataRegion("reg1",DataRegionInsertType.After,"[home]"); //給數據區域賦值 dataRegion1.setValue("第一個數據區域\r\n"); DataRegion dataRegion2 = doc.createDataRegion("reg2",DataRegionInsertType.After,"reg1"); dataRegion2.setValue("第二個數據區域\r\n"); DataRegion dataRegion3 = doc.createDataRegion("reg3",DataRegionInsertType.After,"[end]"); dataRegion3.setValue("第三個數據區域\r\n"); poCtrl1.setWriter(doc); //打開Word文件 poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit,"張三"); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>新建數據區域</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <script type="text/javascript"> function addBookMark() { document.getElementById("PageOfficeCtrl1").DataRegionList.Add( "PO_test", "測試" ); } </script> <div style="width: auto; height: 700px;"> <%=poCtrl1.getHtmlCode("PageOfficeCtrl1")%> </div> </body> </html>
啓動項目直接訪問.此時會提示安裝插件,點擊安裝成功後提示註冊,填寫相關信息,填寫註冊碼 I7TGD-71VV-FYD8-4NMYP 就能夠打開文檔.
4、實現的效果
具體的代碼也能夠參考Samples 示例中的