Spring Boot****集成****PageOffice****的關鍵步驟
- 在pom.xml中添加PageOffice的依賴:
<dependency>
<groupId>com.zhuozhengsoft</groupId>
<artifactId><u>pageoffice</u></artifactId>
<version>4.4.0.4</version>
</dependency>
<dependency>
<groupId>org.xerial</groupId>
<artifactId><u>sqlite</u>-<u>jdbc</u></artifactId>
<u><</u><u>version</u><u>></u><u>3.7.2</u><u></</u><u>version</u><u>></u>
</dependency>
- 在Controller中添加PageOffice的Servlet的注冊代碼:
/**
- 添加PageOffice的服務器端授權程序<u>Servlet</u>(必須)
*/
@Bean
public ServletRegistrationBean servletRegistrationBean() {
com.zhuozhengsoft.pageoffice.poserver.Server poserver = new com.zhuozhengsoft.pageoffice.poserver.Server();
//設置PageOffice注冊成功后,license.lic文件存放的目錄
poserver.setSysPath("d:\lic\");
ServletRegistrationBean srb = new ServletRegistrationBean(poserver);
srb.addUrlMappings("/poserver.zz");
srb.addUrlMappings("/posetup.exe");
srb.addUrlMappings("/pageoffice.js");
srb.addUrlMappings("/jquery.min.js");
srb.addUrlMappings("/pobstyle.css");
srb.addUrlMappings("/sealsetup.exe");
return srb;//
}
/**
- 添加印章管理程序<u>Servlet</u>(可選)
*/
@Bean
public ServletRegistrationBean servletRegistrationBean2() {
com.zhuozhengsoft.pageoffice.poserver.AdminSeal adminSeal = new com.zhuozhengsoft.pageoffice.poserver.AdminSeal();
adminSeal.setAdminPassword("111111");//設置印章管理員<u>admin</u>的登錄密碼
adminSeal.setSysPath("d:\lic\");//印章數(shù)據(jù)庫文件poseal.db的存放目錄
ServletRegistrationBean srb = new ServletRegistrationBean(adminSeal);
srb.addUrlMappings("/adminseal.zz");
srb.addUrlMappings("/sealimage.zz");
srb.addUrlMappings("/loginseal.zz");
return srb;//
}
- 在Controller的方法(比如:showWord方法)中添加創(chuàng)建PageOfficeCtrl對象的代碼福青,其中WebOpen方法的第一個參數(shù)是office文件在服務器端的磁盤路徑(比如:d:\test.doc)
@RequestMapping(value="/word", method=RequestMethod.GET)
public ModelAndView showWord(HttpServletRequest request, Map<String,Object> map){
//--- PageOffice的調(diào)用代碼 開始 -----
PageOfficeCtrl poCtrl=new PageOfficeCtrl(request);
poCtrl.setServerPage("/poserver.zz");//設置授權程序servlet
poCtrl.addCustomToolButton("保存","Save",1); //添加自定義按鈕
poCtrl.setSaveFilePage("/save");//設置保存的action
poCtrl.webOpen("d:\test.doc",OpenModeType.docAdmin,"張三");
map.put("pageoffice",poCtrl.getHtmlCode("PageOfficeCtrl1"));
//--- PageOffice的調(diào)用代碼 結束 -----
ModelAndView mv = new ModelAndView("Word");
return mv;
}
- 在視圖頁面(比如:Word.html)的div中添加PageOffice客戶端控件的代碼:
<div style="width:1000px;height:700px;" > ${pageoffice}</div>
- 在Controller中添加保存文件的方法(比如:saveFile)奶段,用來接收PageOffice客戶端上傳的文件流并保存到服務器指定磁盤目錄(比如:d:\)
@RequestMapping("/save")
public void saveFile(HttpServletRequest request, HttpServletResponse response){
FileSaver fs = new FileSaver(request, response);
fs.saveToFile("d:\" + fs.getFileName());
fs.close();
}
在d盤根目錄下創(chuàng)建一個lic文件夾赫舒,并準備一個test.doc文件(不要用0字節(jié)的文件)以備測試使用榨惰;
運行項目炫七,用IE瀏覽器訪問:http://localhost:8080/word即可在線打開、編輯和保存文件晒骇。
4jXGuxr?