jdk1.7+jacod1.7
1.jacob.jar放到项目下
2.jacod,dll放到java的jre/bin下
/**
* 利用jacod将word转换成pdf
* sfileName:word的文档路径
* toFileName:要生成pdf的路径
*/
public void wordToPDF(String sfileName, String toFileName) throws Exception{
ActiveXComponent app = null;
Dispatch doc = null;
try {
app = new ActiveXComponent("Word.Application");
app.setProperty("Visible", new Variant(false));
//打开文档
Dispatch docs = app.getProperty("Documents").toDispatch();
doc = Dispatch.call(docs, "Open", sfileName).toDispatch();
File tofile = new File(toFileName);
if (tofile.exists()) {
tofile.delete();
}
//转换成pdf
Dispatch.call(doc, "SaveAs", toFileName,wdFormatPDF);
//删除doc文档
File docfile = new File(sfileName);
docfile.delete();
} catch (Exception e) {
throw new Exception();
} finally {
Dispatch.call(doc, "Close", false);
if (app != null) app.invoke("Quit", new Variant[] {});
}
// 如果没有这句话,winword.exe进程将不会关闭
ComThread.Release();
}