java word打开
2014-07-22 17:18:15 hualizide 阅读数 1512

在jsp中打开word,或者提取内容的一些方式:

1、用流的方式,界面呈现为:提示用户下载,或直接打开

<%@ page language="java"  contentType="application/msword; charset=gb2312"  pageEncoding="gb2312"%>
<%@page import="java.io.*"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <%@ include file="/common/page_include.jsp"%>
    <meta http-equiv="Content-Type" content="application/msword; charset=gb2312" />
</head>
    <body>
    <%
        File file = new File (request.getSession().getServletContext().getRealPath("/") +"/frame/帮助文档.docx" );
        System.out.println("=======--------") ;
        FileInputStream is = null;
        OutputStream os = null;
        try {
            request.setCharacterEncoding("iso_8859_1");
            //response.reset();
            response.setContentType("application/vnd.ms-word;charset=8859_1");
            response.setHeader("Content-disposition","attachment;filename="+"帮助文档.docx");
            is = new FileInputStream (file);
           os = response.getOutputStream();
            out.clear();
            out = pageContext.pushBody();
            byte buff[]=new byte[1024];
            int len=0;//表示实际每次读取了多少个字节
            while((len=is.read(buff))>0){
                os.write(buff, 0, len);
            }


        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                os.flush();
                is.close();


                // file.delete();


            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    %>

    </body>
</html>

2、用poi解析word中的内容,只做到提取文字,提取图片有问题,而且文字显示不是按原来word文档里的格式了。

可以参考:http://blog.csdn.net/hemingwang0902/article/details/4381598


3、java调用pageOffice来实现

http://wenku.baidu.com/link?url=8G7LTQaMVxQL1AdX-Pf9xghKE0wTq2psCa_xIsPShwpCLC6gnVULrpwxr9G3fquPhcpkPoYBDHSCNqnZdnZ5W9qpWIqZa3xEHiDOpBhI8AS


2013-11-15 16:46:59 liyanlei5858 阅读数 844

http://bbs.csdn.net/topics/390245142


jsp页面


window.onload = function() {
        
            document.getElementById("divwrapped").innerHTML = "<iframe width='100%' height='100%' src='ajax_pageload.action?path=" + encodeURIComponent(filepath) + "' />";    };

然后在后台:(只写关键代码哦)

response.setHeader("Content-type","application/vnd.openxmlformats-officedocument.wordprocessingml.document");
// 设置下载头信息
try {
    downLoad(response, strUrl);
    response.flushBuffer();
} catch (Exception e) {
    e.printStackTrace();
 }
out.flush();
out.close();


downLoad ()方法


  /**
     * 下载文件
     * @param config
     * @param response
     * @param downLoadFileName
     */
    public static void downLoad(HttpServletResponse response,String filePath){
        BufferedInputStream bis=null;
        BufferedOutputStream  bos=null;
        try{
             String filename=filePath.substring(filePath.lastIndexOf("/") + 1, filePath.length());
             response.setContentType("application/x-msdownload");
             response.setHeader("Content-Disposition","filename="+new String(filename.getBytes("gb2312"),"iso8859-1"));
             bis =new BufferedInputStream(new FileInputStream(filePath));
             bos=new BufferedOutputStream(response.getOutputStream());
             byte[] buff = new byte[2048];
             int bytesread;
             while(-1 != (bytesread = bis.read(buff, 0, buff.length))) {
              bos.write(buff,0,bytesread);
             }
        }catch(Exception e){
             e.printStackTrace();
        }finally {
         if (bis != null)
            try {
                bis.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
         if (bos != null)
            try {
                bos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        
      
    }






2017-05-16 16:24:58 linxijun120903 阅读数 2895

就简单调这句话就行

Desktop.getDesktop().open(new File("D:\\test.docx"));

2010-04-09 09:24:13 baiyunl 阅读数 15
1 java 导出word的方法,用POI和jacob插件。
2 Java打开word Runtime.getRuntime().exec("[word.exe路径] [文档路径]");
Runtime.getRuntime().exec("cmd /c \""+[文档全路径]+"\"");
3 应用Desktop Desktop instance = Desktop.getDesktop();
instance.edit(file path);
2018-05-16 15:03:49 zi_wu_xian 阅读数 19

一、材料准备

  百度一下:PageOffice,从官网下载PageOffice for Java。压缩包文件:

  

二、 实现步骤:

  1. 打开“集成文件”目录,拷贝“WEB-INF\lib”目录中的pageoffice4.4.0.2.jar到自己项目的“WEB-INF\lib”目录

  2. 参考“集成文件”文件夹中的 web.xml文件,配置一下自己 Web项目中的web.xml文件,也可以直接把下面的这段配置添加到自己的web.xml中;

复制代码
    <!-- PageOffice Begin -->
    <servlet>
        <servlet-name>poserver</servlet-name>
        <servlet-class>com.zhuozhengsoft.pageoffice.poserver.Server</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>poserver</servlet-name>
        <url-pattern>/poserver.zz</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>poserver</servlet-name>
        <url-pattern>/sealsetup.exe</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>poserver</servlet-name>
        <url-pattern>/posetup.exe</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>poserver</servlet-name>
        <url-pattern>/pageoffice.js</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>poserver</servlet-name>
        <url-pattern>/jquery.min.js</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>poserver</servlet-name>
        <url-pattern>/pobstyle.css</url-pattern>
    </servlet-mapping>
    <!-- PageOffice End-->
复制代码

  3. 在显示文件列表的页面(比如:doclist.jsp)添加pageoffice.js文件的引用和打开文件的超链接“在线打开Word”:

复制代码
<script type="text/javascript" src=" jquery.min.js"></script> 
<script type="text/javascript" src=" pageoffice.js" id="po_js_main"></script>
......
<a href="javascript:POBrowser.openWindowModeless(/word.jsp','width=1200px;height=800px;');">在线打开Word</a>
复制代码

  4. 在调用PageOffice产品的页面(比如:word.jsp)添加 import 包:com.zhuozhengsoft.pageoffice.*

  5. 编写PageOffice的调用代码,在线打开文件(比如:服务器D盘根目录下的1.doc):

复制代码
    PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request); 
    poCtrl1.setServerPage("poserver.zz"); //此行必须 
    poCtrl1.setSaveFilePage("savefile.jsp");//如要保存文件,此行必须 
    //打开文件 
    poCtrl1.webOpen("D:\\1.doc", OpenModeType.docNormalEdit, "用户名"); 
复制代码

  6.在 html代码的 body中需要出现office 界面的位置插入下面的代码:

<%=poCtrl1.getHtmlCode("PageOfficeCtrl1")%>

  7. 在处理文件保存的action方法或RequestMapping方法或jsp页面里(比如:savefile.jsp)中添加处理文件保存的代码:

  FileSaver fs=new FileSaver(request,response);
  fs.saveToFile("d:\\1.doc");
  fs.close();

  8. 启动运行项目,访问文件列表的页面(比如:doclist.jsp),点击“在线打开Word”的超链接即可查看在线打开编辑保存word文件的效果。

三、参考资料和示例 

  1. 部署PageOffice示例:拷贝 Samples4 文件夹到 Tomcat 的 Webapps 目录下,访问:http://localhost:8080/Samples4/index.html
  2. 参考 基础功能示例:一、2、以磁盘路径方式打开Office文件(以Word为例)

java对word文档的在线打开

阅读数 1292

一、材料准备  百度一下:PageOffice,从官网下载PageOfficeforJava。压缩包文件:二、实现步骤:  1.打开“集成文件”目录,拷贝“WEB-INF\lib”目录中的pageoffice4.4.0.2.jar到自己项目的“WEB-INF\lib”目录  2.参考“集成文件”文件夹中的web.xml文件,配置一下自己Web项目中的web.xml文件,也可以直接把下...

博文 来自: weixin_37904139

Java打开(.word,.txt,.pdf)文件

阅读数 102

[size=x-large]windows系统提供了一个叫Rundll32.exe的文件,顾名思义,它的作用是执行DLL文件中的内部函数,这样在进程当中,只会有rundll32.exe,而不会有DLL后门的进程,这样,就实现了进程上的隐藏。rundll32.exe的具体使用方法如下:Rundll32.exeDLLname,Functionname[Arguments]D...

博文 来自: iteye_8797

java 打开word文档等文件

阅读数 590

publicstaticvoidmain(String[]args){ try{ Runtime.getRuntime().exec("D:\\tools\\MicrosoftOffice\\Office15\\WINWORD.EXED:\\tool.doc"); }catch(IOExceptione){ e.printStackTrace(); } 

博文 来自: kang649882

java对word文档的在线打开

阅读数 650

一、材料准备  百度一下:PageOffice,从官网下载PageOfficeforJava。压缩包文件:  二、实现步骤:  1.打开“集成文件”目录,拷贝“WEB-INF\lib”目录中的pageoffice4.4.0.2.jar到自己项目的“WEB-INF\lib”目录  2.参考“集成文件”文件夹中的web.xml文件,配置一下自己Web项目中的web.xml文件,也可以直接...

博文 来自: zi_wu_xian

java返回word文档时,直接打开

阅读数 942

response.setHeader("Content-Disposition",   "inline;filename=test.doc");  response.setHeader("Content-Type",   "text/msword");  response.setContentType("application/vnd.ms-word");

博文 来自: bober
没有更多推荐了,返回首页