您的位置:首页 > 编程语言 > Java开发

java 利用jacob将word转换成PDF

2016-02-24 17:34 645 查看
工作原理:调用word本身自带的另存为PDF格式

注意:JDK1.6 要使用jacob1.8+;JDK1.7要使用jac1.8-

注意32位和64的.dll的选择 以及.dll放的位置system32下(最好在自己电脑的jdk/bin下也放上)

import java.io.File;

import com.jacob.activeX.ActiveXComponent;

import com.jacob.com.Dispatch;

public class Word2PDF {

static final int wdDoNotSaveChanges = 0;// 不保存待定的更改。

static final int wdFormatPDF = 17;// PDF 格式

public static void main(String[] args) {

String filename = "e:/resource/s.doc";

String toFilename = filename + ".pdf";

System.out.println("启动Word...");

long start = System.currentTimeMillis();

ActiveXComponent app = null;

try {

app = new ActiveXComponent("Word.Application");

app.setProperty("Visible", false);

Dispatch docs = app.getProperty("Documents").toDispatch();

System.out.println("打开文档..." + filename);

Dispatch doc = Dispatch.call(docs,//

"Open", //

filename,// FileName

false,// ConfirmConversions

true // ReadOnly

).toDispatch();

System.out.println("转换文档到PDF..." + toFilename);

File tofile = new File(toFilename);

if (tofile.exists()) {

tofile.delete();

}

Dispatch.call(doc,//

"SaveAs", //

toFilename, // FileName

wdFormatPDF);

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);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: