1. 程式人生 > 其它 >用pageOffice控制元件實現 office word文件線上另存為pdf的功能

用pageOffice控制元件實現 office word文件線上另存為pdf的功能

用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的功能