参考我的上一个文件转换博客,配置好Maven包引入。
构建类编写代码:
import java.io.File;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class WordToPdf {
private static final int FILE_TO_PDF_OPERAND = 17; // 指定17为word转成pdf格式
public static void main(String[] args) {
//转换前的文件路径
String startFile = "D:\\Temp\\patch\\sdf.doc";
//转换后的文件路劲
String overFile = "D:\\Temp\\patch\\aa.pdf";
wordToPDF(startFile, overFile);
}
public static void wordToPDF(String startFile, String overFile) {
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", startFile).toDispatch();
File tofile = new File(overFile);
if (tofile.exists()) {
tofile.delete();
}
Dispatch.call(doc, "SaveAs", overFile, FILE_TO_PDF_OPERAND);
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
Dispatch.call(doc, "Close", false);
if (app != null)
app.invoke("Quit", new Variant[]{});
}
//结束后关闭进程
ComThread.Release();
}
}
项目上线封装Jacob工具类百度网盘链接:https://pan.baidu.com/s/1OgaJ9CJGXdaugIRi-Khxtw
提取码:sp6u