使用jacob將ppt轉化爲pdf

1.下載jacob包

2.將jar包引入項目,根據系統位數將相關dll文件引入到{JAVA_HOME}\jre\bin和C:\Windows\System32目錄下

3.代碼

//測試
    public static void main(String [] args) {
        pptToPdf("E:\\111.pptx", "E:\\222.pdf");
    }
     
    public static void pptToPdf(String sourcePath, String targetPath) {
        ActiveXComponent app = null;
        Dispatch ppt = null;
        try {
            ComThread.InitSTA();
            //app = new ActiveXComponent("PowerPoint.Application");
            app = new ActiveXComponent("KWPP.Application");//安裝wps
            Dispatch ppts = app.getProperty("Presentations").toDispatch();
 
            /*
             * call
             * param 4: ReadOnly
             * param 5: Untitled指定文件是否有標題
             * param 6: WithWindow指定文件是否可見
             * */
            ppt = Dispatch.call(ppts, "Open", sourcePath, true,false, false).toDispatch();
            // ppSaveAsPDF爲特定值32
            Dispatch.call(ppt, "SaveAs", targetPath, 32);
        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        } finally {
            if (ppt != null) {
                Dispatch.call(ppt, "Close");
            }
            if (app != null) {
                app.invoke("Quit");
            }
            ComThread.Release();
        }
    }

4.問題

將ppt轉化爲pdf是爲了項目中在富文本編輯器中直接上傳ppt文件可以直接顯示,項目中富文本編輯器使用的是ckeditor,在flash中上傳ppt或者視頻,ppt轉化爲pdf後可以直接顯示。

使用原版PowerPoint.Application生成的pdf文件會生成非文件名稱的標題而且不知道在哪來的怎麼修改,使用KWPP.Application安裝wps生成的標題就是pdf文件的名稱。

使用第三方Spire.Presentation方法簡單,但是圖片ppt轉化爲pdf後圖片文字格式會混亂。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章