jacob word另存为功能
这个功能只需要在fmt这个变量上输入相应的值就可以另存为
public static void main(String[] args) {
String nn = "E:\\测试\\公式\\2\\4.docx";
String nn1 = "E:\\测试\\公式\\2\\4.html";
convertDocFmt(nn,nn1,10);//10是另存为页面
}
/**
* 根据格式类型转换 word 文件
*
* @param srcPath 源文件
* @param descPath 目标文件 (另存为文件)
* @param fmt 所转格式 0为doc 12为docx
*Variant(0):doc
*Variant(1):dot
*Variant(2-5),Variant(7):txt
*Variant(6):rft
*Variant(8),Variant(10):htm
*Variant(9):mht
*Variant(11),Variant(19-22):xml
*Variant(12):docx
*Variant(13):docm
*Variant(14):dotx
*Variant(15):dotm
*Variant(16)、Variant(24):docx
*Variant(17):pdf
*Variant(18):xps
*Variant(23):odt
*/
public static String convertDocFmt(String srcPath, String descPath, int fmt) throws Exception {
// 实例化ComThread线程与ActiveXComponent
ComThread.InitSTA();
ActiveXComponent app = new ActiveXComponent("Word.Application");
try {
// 文档隐藏时进行应用操作
app.setProperty("Visible", new Variant(false));
// 实例化模板Document对象
Dispatch document = app.getProperty("Documents").toDispatch();
// 打开Document进行另存为操作
Dispatch doc = Dispatch.invoke(document, "Open", Dispatch.Method, new Object[] { srcPath, new Variant(true), new Variant(true) }, new int[1]).toDispatch();
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] { descPath, new Variant(fmt) }, new int[1]);
Dispatch.call(doc, "Close", new Variant(false));
return descPath;
} catch (Exception e) {
throw e;
} finally {
// 释放线程与ActiveXComponent
app.invoke("Quit", new Variant[] {});
ComThread.Release();
}
}
我不知道我这个代码写的对不对。如果有问题还请各位在底下多多评论。
本文地址:https://blog.csdn.net/qq_38133320/article/details/112005817