jacob配置使用
**jacob介绍:**
Jacob是Java与COM组件桥接的缩写,即JAVA-COM Bridge。通过使用Jacob类库,我们可以很
方便地在Java程序中调用COM自动化组件。
**jacob配置:**
下载jacob的,解压之后得到里面的三个文件:
1. jacob.jar
2. jacob-1.19-x64.dll
3. jacob-1.19-x86.dll
以64位为例:
1.将jacob.jar放入项目, 将jacob.jar放入C:\Program Files\Java\jre1.8.0_241\lib\ext文件夹中
2.将jacob-1.19-x64.dll放入jdk 的bin目录和/WINDOWS/system32目录下
配置完成
**利用jacob完成word转换pdf功能**
public static void wordToPDF(String sFilePath1,String toFilePath1) {
System.out.println("启动 Word...");
long start = System.currentTimeMillis();
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", sFilePath).toDispatch();
System.out.println("打开文档:" + sFilePath);
System.out.println("转换文档到 PDF:" + toFilePath);
File tofile = new File(toFilePath);
if (tofile.exists()) {
tofile.delete();
}
Dispatch.call(doc, "SaveAs", toFilePath,
17);
long end = System.currentTimeMillis();
System.out.println("转换完成..用时:" + (end - start) + "ms.");
} catch (Exception e) {
System.out.println("========Error:文档转换失败:" + e.getMessage());
} finally {
Dispatch.call(doc, "Close", false);
System.out.println("关闭文档");
if (app != null)
app.invoke("Quit", new Variant[]{});
}
File file=new File(sFilePath);
file.delete();
ComThread.Release();
}