Word转PDF方法(jacob插件)

jacob插件使用方法:

Word转PDF方法(jacob插件)_第1张图片

如图,jacob.jar放到项目lib文件夹下;.dll文件放到使用的JDK—>bin文件夹下。


代码:

import java.io.File;

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

public class wordToPdf {
	public static void main(String args[]) {
       ActiveXComponent app = null;
       // 获取wrod文件的路径
       String wordFile = "D:/tempFile.doc";	
       // 生成PDF文件的路径
       String pdfFile = "D:/tempFile.pdf";	
       System.out.println("开始转换文件...");
       // 开始时间
       long start = System.currentTimeMillis();  
       try {
        // 打开word
        app = new ActiveXComponent("Word.Application");
        // 设置word不可见,这个可以省略。默认不可见,如果设置可见会打开一个word文档,对于转换为pdf不是必须的
        // app.setProperty("Visible", false);
        // 获得word中所有打开的文档
        Dispatch documents = app.getProperty("Documents").toDispatch();
        System.out.println("打开word文件: " + wordFile);
        // 打开文档
        Dispatch document = Dispatch.call(documents, "Open", wordFile, false, true).toDispatch();
        // 判断文件是否存在。如果文件存在,不会覆盖;若没有文件夹则新建
        File target = new File(pdfFile);  
         if (target.exists()) {  
            target.delete();
         }
        System.out.println("另存pdf为: " + pdfFile);
        // 另存为,将文档保存为pdf,word保存为pdf的格式宏的值是17
        Dispatch.call(document, "SaveAs", pdfFile, 17);
        // 关闭文档
        Dispatch.call(document, "Close", false);
        // 结束时间
        long end = System.currentTimeMillis();
        System.out.println("转换成功,用时:" + (end - start) + "ms");
       }catch(Exception e) {
        System.out.println("转换失败"+e.getMessage());
       }finally {
        // 关闭office
        app.invoke("Quit", 0);
       }
    }
}

 

你可能感兴趣的:(eclipse,Java)