參考:https://blog.csdn.net/weixin_42401159/article/details/112187778 https://cloud.tencent.com/developer/article/1406445 在處理一些自然語言文字的過程中,會遇到一些錶面很奇怪的現象。 ...
pageOffice插件 springboot實現伺服器上Word文檔線上打開編輯保存
需求:
在oa系統上,想實現線上,伺服器上doc,docx文檔,在web打開,編輯。編輯後,可以再同步保存到伺服器端。
開發環境:
java springboot,thymeleaf
伺服器環境:
無特殊要求,能運行java虛擬機即可 ,伺服器上有固定磁碟放word文檔。方便pageoffice插件線上打開。
客戶端環境 :
win7 win8 win10 win11 麒麟7 麒麟10 統信
參考教程
https://gitee.com/pageoffice/springboot-pageoffice
具體 集成步驟
後端 :
- 在您項目的pom.xml中通過下麵的代碼引入PageOffice依賴。
<dependency>
<groupId>com.zhuozhengsoft</groupId>
<artifactId>pageoffice</artifactId>
<version>5.3.0.3</version>
</dependency>
- 在您項目的啟動類Application類中配置如下代碼。
@Bean
public ServletRegistrationBean pageofficeRegistrationBean() {
com.zhuozhengsoft.pageoffice.poserver.Server poserver = new com.zhuozhengsoft.pageoffice.poserver.Server();
/**如果當前項目是打成jar或者war包運行,強烈建議將license的路徑更換成某個固定的絕對路徑下,不要放當前項目文件夾下,為了防止每次重新發佈項目導致license丟失問題。
* 比如windows伺服器下:D:/pageoffice,linux伺服器下:/root/pageoffice
*/
//設置PageOffice註冊成功後,license.lic文件存放的目錄
poserver.setSysPath(poSysPath);//poSysPath可以在application.properties這個文件中配置,也可以直設置文件夾路徑,比如:poserver.setSysPath("D:/pageoffice");
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;
}
- 新建Controller並調用PageOffice,例如:
public class PageOfficeController {
@RequestMapping(value = "/Word", method = RequestMethod.GET)
public ModelAndView showWord(HttpServletRequest request) {
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
poCtrl.setServerPage(request.getContextPath() + "/poserver.zz");//設置服務頁面
poCtrl.webOpen("/doc/test.doc", OpenModeType.docNormalEdit, "張三");
request.setAttribute("pageoffice", poCtrl.getHtmlCode("PageOfficeCtrl1"));
ModelAndView mv = new ModelAndView("Word.html");
return mv;
}
}
- 新建View頁面,例如:Word.html(PageOfficeCtroller返回的View頁面,用來嵌入PageOffice控制項),PageOffice在View頁面輸出的代碼如下:
<div style="width: auto; height: 700px;" th:utext="${pageoffice}">
- 在要打開文件的頁面的head標簽中先引用pageoffice.js文件後,再調POBrowser.openWindowModeless()方法打開文件,例如:
<!--pageoffice.js的引用路徑來自於第2步的項目啟動類中的配置路徑,一般將此js配置到了當前項目的根目錄下 -->
<script type="text/javascript" src="pageoffice.js"></script>
<!--openWindowModeless()方法的第一個參數指向的url路徑是指調用pageoffice打開文件的controller路徑,比如下麵的"SimpleWord/Word"-->
<a href="javascript:POBrowser.openWindowModeless('SimpleWord/Word', 'width=1050px;height=900px;');">最簡單線上打開保存Word文件(URL地址方式)</a>
轉載地址:https://blog.csdn.net/weixin_38757817/article/details/127787226