JACOB word2PDF

文章来自  LTSC 's Blog // Another OnePiece

使用jacob来转换word文档为pdf

  • 什么是JACOB

JACOB是一个Java-COM中间件.通过这个组件你可以在Java应用程序中调用COM组件和Win32程序库。

  • 准备工作
  1. 下载jacob,我下载的是jacob-1.18,根据windows操作系统的bit位数选择对应jacob.dll 放置在系统system32下,如C:\Windows\System32
  2. 开发环境中添加jacob.jar
  3. Microsoftoffice安装
  • 核心代码
package home.ant.Util;

import java.io.File;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;

public class OfficeConverter {

    /**
     * jacob调用MS Office转换word为PDF
     * 
     * @param inputFile
     * 		word文档的绝对路径
     * @param pdfFile
     * 		输出pdf文档的绝对路径
     * @return
     */
    public void word2PDF(String inputFile, String pdfFile) {
        try {
            // 打开word应用程序
            ActiveXComponent app = new ActiveXComponent("Word.Application");
            // 设置word不可见
            app.setProperty("Visible", false);
            // 获得word中所有打开的文档,返回Documents对象
            Dispatch docs = app.getProperty("Documents").toDispatch();
            // 调用Documents对象中Open方法打开文档,并返回打开的文档对象Document
            Dispatch doc = Dispatch.call(docs, "Open", inputFile, false, true).toDispatch();
            Dispatch.call(doc, "ExportAsFixedFormat", pdfFile, 17); // word保存为pdf格式宏,值为17
            // 关闭文档
            Dispatch.call(doc, "Close", false);
            // 关闭word应用程序
            app.invoke("Quit", 0);
        } catch (Exception e) {
            
        } finally {
            //关闭winword.exe进程
            ComThread.Release(); 
    	}
    }
}

 

Next: Hello World
Sign in to leave a comment.
No Leanote account? Sign up now.
2 comments