Jacob-1.18工具包是一款专为Windows系统设计的Java-COM桥接库版本,它允许开发者利用Java语言调用COM对象和DLL文件的功能,适用于多种应用场景。此压缩文件内含安装所需全部资源与文档。
Jacob-1.18 包含 jacob-1.18-x64.dll 和 jacob-1.18-x86.dll,并且亲测可用。下面是使用 Jacob 将 Word 文档转换为 PDF 的方法:
```java
package com.pdf.doctopdf.pdf;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
import java.io.File;
public class TestJacob {
public static void main(String args[]) {
ActiveXComponent app = null;
String wordFile = C:\\Users\\admin\\Desktop\\jar\\年会系统优化_20210820_V0.2.docx;
String pdfFile = C:\\Users\\admin\\Desktop\\jar\\测试pdf.pdf;
System.out.println(开始转换...);
long start = System.currentTimeMillis();
try {
app = new ActiveXComponent(Word.Application);
Dispatch documents = app.getProperty(Documents).toDispatch();
System.out.println(打开文件: + wordFile);
Dispatch document = Dispatch.call(documents, Open, wordFile, false, true).toDispatch();
File target = new File(pdfFile);
if (target.exists()) {
target.delete();
}
System.out.println(另存为: + pdfFile);
Dispatch.call(document, SaveAs, pdfFile, 17); // Word保存为PDF的格式宏值是17
Dispatch.call(document, Close, false);
} catch (Exception e) {
System.out.println(转换失败 + e.getMessage());
} finally {
app.invoke(Quit, 0);
long end = System.currentTimeMillis();
System.out.println(转换成功,用时: + (end - start) + ms);
}
}
}
```
这段代码展示了如何使用Jacob库将Word文档转换为PDF文件。整个过程包括启动Microsoft Word应用程序、打开指定的DOCX文件、检查并删除目标PDF路径下的旧版本(如果存在)、保存当前文档为新的PDF格式,并最后关闭应用和输出操作耗时信息。