利用Java將word檔案轉成pdf檔案
阿新 • • 發佈:2019-01-14
說明:使用本方法計算機中必須含有office
一.準備工作
1.準備如圖三個檔案:
2.將第二個檔案複製到C:\Windows\System32,將第三個檔案複製到C:\Windows\SysWOW64,
然後將這兩個檔案複製到jdk,jre裡面的bin資料夾
二.開始編譯
1.專案匯入第一個檔案的jar包
2.程式碼如圖所示:
import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch; import java.io.File; public class Test { static final int wdDoNotSaveChanges = 0;// 不儲存待定的更改。 static final int wdFormatPDF = 17;// PDF 格式 public static void wordToPdf(String wordpath, String pdfpath) { System.out.println("啟動Word..."); long start = System.currentTimeMillis(); ActiveXComponent app = null; try { //開啟word應用程式 app = new ActiveXComponent("Word.Application"); ////設定應用操作是文件不在明面上顯示,只在後臺靜默處理。 app.setProperty("Visible", false); //獲得文件集合,用來操作我們需要處理的文件. Dispatch docs = app.getProperty("Documents").toDispatch(); System.out.println("開啟文件..." + wordpath); //開啟word文件 Dispatch doc = Dispatch.call(docs,// "Open", // wordpath,// FileName false,// ConfirmConversions true // ReadOnly ).toDispatch(); System.out.println("轉換文件到PDF..." + pdfpath); File tofile = new File(pdfpath); //建立存放pdf的資料夾 if (tofile.exists()) { tofile.delete(); } //將word另存為pdf Dispatch.call(doc,// "SaveAs", // pdfpath, // FileName wdFormatPDF); //關閉word文件 Dispatch.call(doc, "Close", false); long end = System.currentTimeMillis(); System.out.println("轉換完成..用時:" + (end - start) + "ms."); } catch (Exception e) { System.out.println("========Error:文件轉換失敗:" + e.getMessage()); } finally { if (app != null) app.invoke("Quit", wdDoNotSaveChanges); } } public static void main(String[] args) { wordToPdf("C:\\Users\\wukefan\\Desktop\\test.doc","C:\\Users\\wukefan\\Desktop\\test.pdf"); } }
三.執行專案
1.執行成功,專案結果如圖所示:
2.如圖所示桌面,桌面多了個pdf檔案: