用pageOffice控制元件實現 office word文件線上另存為pdf的功能
阿新 • • 發佈:2022-12-08
用pageOffice控制元件實現 office word文件線上另存為pdf的功能
1 應用場景
OA辦公中,經常要將word文件轉存為pdf方法,方式文件的檢視。
怎麼實現word文件的轉存為pdf呢?
2 實現方法
通過pageOffice實現簡單的線上開啟編輯word後,只要增加一行
document.getElementById("PageOfficeCtrl1").WebSaveAsPDF();
就可以實現另存為pdf的功能
3 實現過程
以java的springboot框架為例
1 整合pageOffice
https://www.zhuozhengsoft.com/dowm/
從pageOffice官網
下載頁面,找到springboot的整合示例,按照裡面的整合明說,可以整合到自己的springboot專案中。
2 線上開啟編輯word
可以按照這個示例首先實現最基本的開啟word的方法。
3 通過程式碼實現word轉pdf
程式碼參考以下功能示例程式碼
control程式碼
@RequestMapping(value = "Word", method = RequestMethod.GET) public ModelAndView showWord(HttpServletRequest request, Map<String, Object> map) { PageOfficeCtrl poCtrl = new PageOfficeCtrl(request); poCtrl.setServerPage(request.getContextPath() + "/poserver.zz");//設定服務頁面 //新增自定義按鈕 poCtrl.addCustomToolButton("儲存", "Save()", 1); poCtrl.addCustomToolButton("另存為PDF檔案", "SaveAsPDF()", 1); //設定儲存頁面 poCtrl.setSaveFilePage("save");//設定處理檔案儲存的請求方法 //開啟Word文件 poCtrl.webOpen("/doc/SaveAsPDF/template.doc", OpenModeType.docNormalEdit, "張三"); map.put("pageoffice", poCtrl.getHtmlCode("PageOfficeCtrl1")); ModelAndView mv = new ModelAndView("SaveAsPDF/Word"); return mv; } @RequestMapping("save") public void save(HttpServletRequest request, HttpServletResponse response) { FileSaver fs = new FileSaver(request, response); fs.saveToFile(dir + "SaveAsPDF/" + fs.getFileName()); fs.close(); }
html程式碼
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"> <head> <title>Word檔案轉換成PDF格式</title> <script type="text/javascript"> //儲存 function Save() { document.getElementById("PageOfficeCtrl1").WebSave(); } //另存為PDF檔案 function SaveAsPDF() { document.getElementById("PageOfficeCtrl1").WebSaveAsPDF(); document.getElementById("PageOfficeCtrl1").Alert("PDF檔案已經儲存到 SaveAsPDF/doc目錄下。"); document.getElementById("div1").innerHTML = "<a href='pdf?fileName=template.pdf'> 檢視另存的 pdf 檔案<a><br><br>"; } </script> </head> <body> <form id="form1"> <div id="div1"></div> <div style="width: auto; height: 700px;" th:utext="${pageoffice}"> </div> </form> </body> </html>
通過以上程式碼,可以實現word另存為pdf的功能。
生成的pdf可以在後端檢視到。
4總結
用pageOffice控制元件實現 office word文件線上另存為pdf的功能