您好,登錄后才能下訂單哦!
怎么在java中使用jacob將word轉(zhuǎn)換為pdf?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
具體內(nèi)容如下
jacob 缺點:需要 window 環(huán)境,而且速度是最慢的需要安裝 msofficeWord 以及 SaveAsPDFandXPS.exe ( word 的一個插件,用來把 word 轉(zhuǎn)化為 pdf )
開發(fā)流程:
SaveAsPDFandXPS 下載地址
jacob 包下載地址:
1、先安裝SaveAsPDFandXPS
2、下載 jacob 解壓后存放路徑:
jacob.jar 放在 C:\Program Files\Java\jdk1.8.0_171\jre\lib\ext目錄下
jacob.dll 放在 C:\Program Files\Java\jdk1.8.0_171\jre\bin 目錄下
實現(xiàn)代碼如下:
package com.casf.hn.core.util; import java.io.File; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.ComThread; import com.jacob.com.Dispatch; import com.jacob.com.Variant; /** * 效果最好的一種方法,但是需要 window 環(huán)境,而且速度是最慢的需要安裝 msofficeWord 以及 SaveAsPDFandXPS.exe ( * word 的一個插件,用來把 word 轉(zhuǎn)化為 pdf,可以不用安裝,本次未安裝測試通過 ) * * * */ public class WordToPdf { private static final int wdFormatPDF = 17; // PDF 格式 public void wordToPDF(String sfileName, String toFileName) { System.out.println("啟動 Word..."); long start = System.currentTimeMillis(); ActiveXComponent app = null; Dispatch doc = null; try { app = new ActiveXComponent("Word.Application"); app.setProperty("Visible", new Variant(false)); Dispatch docs = app.getProperty("Documents").toDispatch(); doc = Dispatch.call(docs, "Open", sfileName).toDispatch(); System.out.println("打開文檔..." + sfileName); System.out.println("轉(zhuǎn)換文檔到 PDF..." + toFileName); File tofile = new File(toFileName); if (tofile.exists()) { tofile.delete(); } Dispatch.call(doc, "SaveAs", toFileName, // FileName wdFormatPDF); long end = System.currentTimeMillis(); System.out.println("轉(zhuǎn)換完成..用時:" + (end - start) + "ms."); } catch (Exception e) { System.out.println("========Error:文檔轉(zhuǎn)換失?。?quot; + e.getMessage()); } finally { Dispatch.call(doc, "Close", false); System.out.println("關(guān)閉文檔"); if (app != null) app.invoke("Quit", new Variant[] {}); } // 如果沒有這句話,winword.exe進(jìn)程將不會關(guān)閉 ComThread.Release(); } public static void main(String[] args) { WordToPdf d = new WordToPdf(); d.wordToPDF("D:\\cssj\\xxxx.doc", "D:\\cssj\\xxxx.pdf"); } }
運行結(jié)果:
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。