`

在线打开word

 
阅读更多

在线打开word .
2010-05-10 17:16 1842人阅读 评论(0) 收藏 举报
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放在项目文件夹中然后通过链接打开。
分享到:
评论

相关推荐

    dsoframer 浏览器控件完全操作免费-在线打开word

    “dsoframer 浏览器控件完全操作免费-在线打开word”这个标题揭示了我们讨论的核心技术——dsoframer,它是一个浏览器控件,能够实现用户在网页环境中免费地完全操作Office文档,特别是Word文件。这里的“完全操作”...

    .net 代码实现浏览器在线打开word无需任何插件

    本文将详细讲解如何使用.NET代码实现在浏览器中在线打开Word文档。 首先,我们需要了解一个关键的技术:Microsoft Office Interop。这是.NET Framework提供的一组接口,用于与Microsoft Office应用程序(如Word)...

    在线打开word、Excel.自动安装cab插件【制作教程】

    标题中的“在线打开word、Excel.自动安装cab插件【制作教程】”表明这是一个关于如何在Web环境中使用Microsoft Office(Word和Excel)并自动化安装 CAB( Cabinet)插件的教程。CAB文件是Windows操作系统中用于分发...

    在线打开word.pdf等文件

    string filePath = Server.MapPath("~") + @"\DemoFiles\Test.txt"; TextFilePreview.Preview(this, filePath);

    c#打开word文档及读取word文档

    在C#编程环境中,操作Microsoft Word文档是一项常见的任务,包括打开Word文档以及读取文档内容。这涉及到.NET Framework中的Microsoft.Office.Interop.Word库,它允许C#应用程序与Word进行交互。以下是一些关于如何...

    在线预览word/excel/ppt

    Java实现在线预览word/excel/ppt,在网上找了很多的方式,有将word/excel/ppt转换为HTML的,还有转swf的,但是转swf的偏多,转HTML有些可是不好,转swf的效果好一些,但是在转excel的时候,默认是已A4的纸张来进行...

    Java在线打开word文档并强制留痕的方法

    Java在线打开word文档并强制留痕的方法 在OA系统中,文档流转过程中经常需要留痕迹,以便于后续处理文档的专员清晰地参考。例如,领导审批的流程中,领导审批完成后,需要将审批痕迹强制保留下来。那么,在Java在线...

    C# 打开(启动)WORD和EXCEL

    2. **打开Word文档** 要启动并打开一个Word文档,首先创建一个`Word.Application`对象,然后调用其`Documents.Open`方法。下面是一个简单的示例: ```csharp using Microsoft.Office.Interop.Word; // 创建...

    PB调用word,打开word

    4. **打开Word文档**:使用`Documents.Open`方法可以打开现有的Word文档,或者创建新文档: ```pb doc = wordApp.Documents.Open("C:\path\to\document.docx") ``` 或者创建新文档: ```pb doc = wordApp....

    android调用系统内部打开word等文档

    在Android平台上,调用系统内置的应用程序来打开Word文档是一个常见的需求。这涉及到Android的Intent机制,通过Intent我们可以启动各种系统服务或者应用,包括查看、编辑文档等。下面将详细介绍如何实现这一功能。 ...

    labview调用API方式打开Word文档

    labview调用API方式打开Word文档,通用性强适合拿来直接使用

    若依使用easypoi导出word文档.docx

    `WordExportUtil`是Easypoi提供的工具类,`exportWord07`方法会根据模板和数据生成指定版本的Word文档(这里是Word2007及更高版本的`.docx`格式)。 生成的Word文档会被保存到临时文件目录中,接着通过`...

    一键解决WORD打开错误问题

    在日常工作中,Microsoft Word是一款非常重要的文字处理软件,但有时候我们可能会遇到各种打开错误的问题,如文档损坏、程序崩溃或无法启动等。本教程将详细讲解如何“一键解决Word打开错误问题”,帮助用户快速恢复...

    MFC 打开word、ppt、pdf文件

    1. **打开Word文档**: MFC中打开Word文档通常通过COM(Component Object Model)接口来实现,具体涉及Microsoft Office的自动化。首先,我们需要包含必要的头文件如`#import`指令导入`msword.olb`库,然后创建`...

    android打开word的方法

    在Android平台上,打开Word文档通常涉及两种主要方法:一种是通过集成特定的库来解析文件,另一种是利用系统 Intent 系统来调用已安装的应用程序进行打开。下面将详细介绍这两种方法。 首先,我们来看看使用第三方...

    解决打开word报错

    首先,当我们遇到“打开Word报错”的问题时,最直观的提示可能来自错误消息本身。错误消息通常会包含一些关键信息,例如错误代码,这可以帮助我们识别问题的根源。然而,如果错误信息不明确或者无法理解,我们可以...

    VB代码使用WebBrowser控件作为容器打开Word文档

    在VB(Visual Basic)编程中,有时候我们需要在应用程序中集成打开和查看Word文档的功能,而无需依赖Microsoft Word的完整实例。在这种情况下,可以利用WebBrowser控件作为一个容器来实现这一目标。WebBrowser控件...

    C++编写自动打开WORD文档

    本主题聚焦于如何利用C++来自动化处理Microsoft Word文档,特别是自动打开Word文档并进行文字添加的功能。这个过程涉及到几个关键的知识点,包括文件操作、进程控制以及可能的COM(Component Object Model)接口的...

    C#打开Word定位到指定书签

    本话题聚焦于使用C#编程语言实现打开Word文档并定位到特定书签的功能,这是一个非常实用的技术点,尤其适用于帮助系统或者文档查阅场景。在描述中提到了一个具体的例子:当用户点击页面上的“帮助”按钮时,程序会...

Global site tag (gtag.js) - Google Analytics