在线打开word

http://www.68design.net/Development/JSP/19165-1.html
http://www.ninedns.com/JSP/200742218370011634.html
http://wenwenye820526.javaeye.com/blog/352457

http://www.javaeye.com/topic/333676

我正在看,还没有结果。

 ----

找到个在线打开word的免费插件weboffices。下载地址是:http://www.dianju.cn/p/weboffice/

控件weboffice_v6.0.4.2.cab下载地址是http://www.dianju.cn/p/weboffice/file/weboffice_v6.0.4.2.cab#version=6,0,4,2

------------------------

嘿嘿,终于解决了,借助于jacob.jar操作offices先把文件另存为htm文件再把htm文件流输出到页面就可以了。

http://hi.baidu.com/seejava/blog/item/cf56c2a2a56c72a1caefd0e2.html

客户要求上传的doc和xls文件不能让人下载,只能看。直接用浏览器请求文件总会有个下栽提示,最后想到将如果将doc转成HTML不就OK 了吗?思路有了。google一下还真让我找到了转换之法。哈哈。
此例演示在jdk6下将word文件和excel文件转成html文件。
1.首先需要jacob包。可以从http://danadler.com/jacob/上取的,不过我这里是从上http://downloads.sourceforge.net/project/jacob-project/jacob-project/1.9.1/jacob_1.9.1.zip下来的最新版本1.9.1。
2.解压得到两个文件jacob.jar(直接放到classpath下去就行了),还有一个jacob.dll放到 system32中就OK了。
3.传说如果是win2003还需要安装一个东西。http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en&displaylang=en
不过我的是xp,不需要。

演示代码如下:

package com.hz.util;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.hz.dao.NoticeDAO;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class Jacob2Html
{
 private static final Log log = LogFactory.getLog(Jacob2Html.class);
 /** 
     * PowerPoint转成HTML 
     * @param pptPath PowerPoint文件全路径 
     * @param htmlfile 转换后HTML存放路径 
    */ 
    public static void pptToHtml(String pptPath, String htmlPath)  
    {  
     ActiveXComponent offCom = new ActiveXComponent("PowerPoint.Application");
        try 
        {  
         offCom.setProperty("Visible", new Variant(true));  
            Dispatch excels = offCom.getProperty("Presentations").toDispatch();  
            Dispatch excel = Dispatch.invoke(excels,
             "Open",Dispatch.Method, new Object[] { pptPath, new Variant(false),  new Variant(false) }, new int[1]).toDispatch();  
            Dispatch.invoke(excel, "SaveAs", Dispatch.Method, new Object[] {  
              htmlPath, new Variant(12) }, new int[1]);  
            Variant f = new Variant(false);  
            Dispatch.call(excel, "Close");  
        }  
        catch (Exception e)  
        {  
            e.printStackTrace();  
        }  
        finally 
        {  
         offCom.invoke("Quit", new Variant[] {});   ComThread.Release();
        }  
    }
   
  
 /** 
     * WORD转成HTML 
     * @param wordPath WORD文件全路径 
     * @param htmlPath 生成的HTML存放路径 
     */ 
    public static void wordToHtml(String wordPath, String htmlPath)  
    {
     ActiveXComponent offCom = new ActiveXComponent("Word.Application");
        try 
        {  
         offCom.setProperty("Visible", new Variant(false));  
            Dispatch wordDis = offCom.getProperty("Documents").toDispatch();  
            Dispatch doc = Dispatch.invoke(wordDis,  
                    "Open", Dispatch.Method,  new Object[] { wordPath, new Variant(false),  
                            new Variant(true) }, new int[1]).toDispatch();  
            Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {  
              htmlPath, new Variant(8) }, new int[1]);  
            Variant f = new Variant(false);  
            Dispatch.call(doc, "Close", f);  
        }  
        catch (Exception e)  
        {  
            e.printStackTrace();  
        }  
        finally 
        {  
         offCom.invoke("Quit", new Variant[] {});  
        }  
    }  
 
    /** 
     * EXCEL转成HTML 
     * @param xlsfile EXCEL文件全路径 
     * @param htmlfile 转换后HTML存放路径 
     */ 
    public static void excelToHtml(String excelPath, String htmlPath)  
    {  
        ActiveXComponent offCom = new ActiveXComponent("Excel.Application");
        try 
        {  
         offCom.setProperty("Visible", new Variant(false));  
            Dispatch excels = offCom.getProperty("Workbooks").toDispatch();  
            Dispatch excel = Dispatch.invoke(excels,
             "Open",Dispatch.Method, new Object[] { excelPath, new Variant(false),  new Variant(true) }, new int[1]).toDispatch();  
            Dispatch.invoke(excel, "SaveAs", Dispatch.Method, new Object[] {  
              htmlPath, new Variant(44) }, new int[1]);  
            Variant f = new Variant(false);  
            Dispatch.call(excel, "Close", f);  
        }  
        catch (Exception e)  
        {  
            e.printStackTrace();  
        }  
        finally 
        {  
         offCom.invoke("Quit", new Variant[] {});  ComThread.Release();
        }  
    }   
   
   
    public static void main(String[] args)
 {
     //excelToHtml("c:/ftc/kk.xls","c:/ftc/kk.html");
     //wordToHtml("c:/ftc/gdf.doc","c:/ftc/gdf.html");
     pptToHtml("c:/ftc/jj.ppt","c:/ftc/jjh.html");
 }
}
 

----------------------------------

——————————

一句话,jacob生成html放在项目文件夹中然后通过链接打开。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值