​在web项目下,用jacob实现将word文档转换为html格式的页面,方法:

/**
* 文档转换函数
*
* @param docfile
* word文档的绝对路径加文件名(包含扩展名)
* @param htmlfile
* 转换后的html文件绝对路径和文件名(不含扩展名)
*/
public static void change(String docfile, String htmlfile) {
ActiveXComponent app = new ActiveXComponent("Word.Application"); // 启动word
try {
app.setProperty("Visible", new Variant(false));
// 设置word不可见
Object docs = app.getProperty("Documents").toDispatch();
Object doc = Dispatch.invoke((Dispatch) docs, "Open", Dispatch.Method,
new Object[] { docfile, new Variant(false),
new Variant(true) }, new int[1]).toDispatch();
// 打开word文件
Dispatch.invoke((Dispatch) doc, "SaveAs", Dispatch.Method, new Object[] {
htmlfile, new Variant(8) }, new int[1]);
// 作为html格式保存到临时文件
Variant f = new Variant(false);
Dispatch.call((Dispatch) doc, "Close", f);
} catch (Exception e) {
e.printStackTrace();
} finally {
app.invoke("Quit", new Variant[] {});
}
}
在用main函数测试时没有发现问题,但在实际调用时报错:
C:\WINDOWS\system32\jacob.dll already loaded in another classloader

com.jacob.com.ComFailException: Invoke of: Open
Source: Microsoft Word
Description:
这是为什么呢

子衿沉夜
浏览 154回答 2
2回答

猛跑小猪

传入的word文件的路径docfile错误(或者是html的路径),正确写法:String docfile= "C:\\Program Files\\apache-tomcat-6.0.30\\webapps\\upload4\\word\\";

GCT1015

com.jacob.com.ComFailException: Invoke of: OpenSource: Microsoft WordDescription:是路径错误
打开App,查看更多内容
随时随地看视频慕课网APP