1. 程式人生 > >利用Java將word檔案轉成pdf檔案

利用Java將word檔案轉成pdf檔案

說明:使用本方法計算機中必須含有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檔案: