word文档自动转成html格式

1.准备工作
需要一个dll文件和一个jar文件,如图:


把dll文件拷贝到C:/Windows/System32下;jar包引入到框架中
2.相关代码:
1)格式转换类:
@Controller
@SessionAttributes("userSession")
public class WordToHtmlController {
private Logger logger = Logger.getLogger(WordToHtmlController.class);
int WORD_HTML = 8;
int WORD_TXT = 7;
int EXCEL_HTML = 44;

/**

  • WORD转HTML
    *
  • @param docfile WORD文件全路径
  • @param htmlfile 转换后HTML存放路径
    */

public void wordToHtml(String docfile, String htmlfile) {
//启动word,生成一个ActivexComponent对象
ActiveXComponent app = new ActiveXComponent("Word.Application"); // 启动word
try {
//设置word不可见
app.setProperty("Visible", new Variant(false));
Dispatch docs = app.getProperty("Documents").toDispatch();
//打开word文件
Dispatch doc = Dispatch.invoke(docs, "Open", Dispatch.Method, new Object[]

Unknown macro: {docfile, new Variant(false), new Variant(true)}

, new int1).toDispatch();
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[]

Unknown macro: { htmlfile, new Variant(WORD_HTML)}

, new int1);
Variant f = new Variant(false);
Dispatch.call(doc, "Close", f);
} catch (Exception e)

Unknown macro: { e.printStackTrace(); logger.info("异常输出:" + e); }

finally {
app.invoke("Quit", new Variant[]{});
}
}

@RequestMapping("/filecurvefrom.do")
public void testcurve()

Unknown macro: { WordToHtmlController wordtohtml = new WordToHtmlController(); wordtohtml.wordToHtml("D}

}
2)调用方法:
wordtohtml.wordToHtml(uploadFile + predictmanager.getAttchment(), uploadFile + pytsx + ".htm");//把转换后的文档放到指定目录下
3.常见问题:
使用该插件转换文档时,经常会遇到如下问题:
Native Library C:/WINNT/system32/jacob.dll already loaded in another classloader
java.lang.UnsatisfiedLinkError: Native Library C:/WINNT/system32/jacob.dll already loaded in another classloader
问题原因:
Java API 表明:JVM只允许一个默认的ClassLoader来load native library,同时并不提供专门的API来unload一个 loaded native library,因此无法在我们的重启Web应用的代码中来手工清除已经load的jacob。为此我们必须保证在重启 Web应用时不再重复加载jacob,具体方法是:将jacob.jar包放到Web Server的公共lib文件夹中(如:.../jboss-4.2.3/lib/),而不是Web应用的lib中(如:.../WEB-INF/lib/)(注:在build文件中用exclude把jacob.jar包去除即可)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值