word文档转html利器

有需求,就会有相应的技术出现,以前知道word可以用来书写html网页,那自然就可以转成html页面,难道我们要用word开发html页面吗?

你可能会问,我为什么要把word转成html?是的,开始我也很不理解为什么会有这样的需求。


后来,我竟然真的迫切地需要一个这样的功能,把word直接转成html,挂入我们的网站。


我们要自己的oa系统,有很多经验分享要挂在oa系统上,但这些经验很多都是以word文档的形式保存的。如何能在线预览?

有很多方式,比如转为flash等等,但都太复杂了。

我想到了一种变通的方式,即提前把word转换为html,预览的时候,直接返回这个html即可,当然不能手工转,要借助工具,即jacob


详见如下DEMO:


1、导入jacob.jar

2、核心测试代码

[java]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. import com.jacob.activeX.ActiveXComponent;  
  2. import com.jacob.com.Dispatch;  
  3. import com.jacob.com.Variant;  
  4.   
  5. /** 
  6.  *  
  7.  *  
  8.  * @author jialin 
  9.  * @since 2015-3-27 
  10.  */  
  11. public class word2html {  
  12.     public static boolean wordToHtml(String inPath, String toPath) {  
  13.         // 启动word  
  14.         ActiveXComponent axc = new ActiveXComponent("Word.Application");  
  15.   
  16.         boolean flag = false;  
  17.   
  18.         try {  
  19.             // 设置word不可见  
  20.             axc.setProperty("Visible"new Variant(false));  
  21.   
  22.             Dispatch docs = axc.getProperty("Documents").toDispatch();  
  23.   
  24.             // 打开word文档  
  25.             Dispatch doc = Dispatch.invoke(  
  26.                     docs,  
  27.                     "Open",  
  28.                     Dispatch.Method,  
  29.                     new Object[] { inPath, new Variant(false),  
  30.                             new Variant(true) }, new int[1]).toDispatch();  
  31.   
  32.             // 作为html格式保存到临时文件  
  33.             Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {  
  34.                     toPath, new Variant(8) }, new int[1]);  
  35.   
  36.             Variant f = new Variant(false);  
  37.             Dispatch.call(doc, "Close", f);  
  38.             flag = true;  
  39.             return flag;  
  40.   
  41.         } catch (Exception e) {  
  42.             e.printStackTrace();  
  43.             return flag;  
  44.         } finally {  
  45.             axc.invoke("Quit"new Variant[] {});  
  46.         }  
  47.     }  
  48.   
  49.     public static void main(String[] args) {  
  50.           
  51.     word2html.wordToHtml("E://01_Document//ths_project//webservice//webservice_invoke_help.docx",  
  52.                 "E://01_Document//ths_project//webservice//webservice_invoke_help.htm");  
  53.   
  54.     }  
  55. }  

忽然想起当年老师说的一句话:遇到问题,你就去搜吧,肯定前面已经有很多人遇到和你一样的问题了。看看别人是怎么干的,借鉴一下,站在巨人的肩膀上。

有了需求,自然有解决需求的工具。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值