`

java读取word有几种方式?

 
阅读更多


1.使用apache poi组件

   先到http://poi.apache.org/index.html去下载poi-bin-3.2-FINAL-20081019.zip压缩包,把 里面的三个jar加入工程中。下面写个测试servlet类。比如请求为href="/TestPOI/readword.do?doc=F: /test.doc"

    public class ReadwordServlet extends HttpServlet {

    static final private String CONTENT_TYPE = "text/html; charset=gb2312";
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
            response.setContentType(CONTENT_TYPE);
            response.setHeader("Content-Disposition", "test.doc");
            String doc = request.getParameter("doc");
            
            String text = null;
            try {
                text = readDoc(doc);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            PrintWriter out = response.getWriter();
            result(request, out, text);
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
            doPost(request,response);
    }
    private void result(HttpServletRequest request, PrintWriter out, String text)
    throws ServletException, IOException {
        out.println("<h3>DOCBEGIN</h3><br/>");
        out.println(text);
        out.println("<br/><h3>DOCEND</h3>");
        out.close();
    }
///使用POI的WordExtractor类进行读取word内容
   private String readDoc(String doc) throws Exception{
      FileInputStream in = new FileInputStream(new File(doc));
       WordExtractor extrator = new WordExtractor(in);
    String text = extrator.getText();
    return text;
   }

}

 

2. 使用POI的拓展包tm-extractors-0.4.jar

http://mirrors.ibiblio.org/pub/mirrors/maven2/org/textmining/tm-extractors/0.4/去下载并加入工程中,它一个就够了,不用POI.

替换掉原先readDoc(String doc)方法就可以。

    private String readDoc(String doc) throws Exception{

        FileInputStream in = new FileInputStream(new File(doc));
        WordExtractor extrator = new WordExtractor();
        String text = extrator.extractText(in);
        return text;
    }

 

3. 使用FileInputStream流的方式:

用下面替换掉CONTENT_TYPE(因为流对word格式不熟悉无法自己处理,所以只能使用word格式了)

static final private String CONTENT_TYPE = "application/msword; charset=gb2312";

用下面替换doPost方法内容

 

response.setContentType(CONTENT_TYPE);
            response.setHeader("Content-Disposition", "test.doc");
            String doc = request.getParameter("doc");
   FileInputStream fin = new FileInputStream(doc);
           OutputStream out = response.getOutputStream();
           byte[] bs = new byte[2048];
           for(int i=fin.read(bs); i>-1; i=fin.read(bs)){
               out.write(bs, 0, i);
           }
           fin.close();
           out.close();

 

4. 可以使用中间件,效果当然很好,但是要花钱。如:科翰软件的微软office网路中间件
    http://www.kehansoft.com/soaoffice/doclist.asp
    或者NTKO Office也可以。

分享到:
评论

相关推荐

    Java读取Word文档页数

    总结来说,Java读取Word文档页数可以通过两种主要途径:一是直接使用Jacob库操作Word文档;二是先将Word转换为PDF,再使用iTextPDF库读取PDF的页数。这两种方法各有优劣,应根据具体项目需求和环境选择合适的方法。

    java读取word,pdf格式文档方法

    本文将介绍 Java 如何读取 Word、PDF 格式文档的几种方法。 使用 Jacob Jacob 是一个桥接工具,连接 Java 和 COM 或 Win32 函数的一个中间件。使用 Jacob 可以读取 Word 文档的内容。首先,需要下载 Jacob 的 jar ...

    .net 读取word的几种方法

    下面将详细介绍其中的几种常见技术,包括使用Microsoft Office Interop、Open XML SDK、Apache POI(仅限于.NET Core)以及第三方库如NPOI和Spire.Doc。 1. **Microsoft Office Interop**:这是最传统的方法,通过...

    java读取word文档.pdf

    Java 读取Word文档主要涉及的是处理不同类型的文档格式,如.doc、.docx或.rtf等。在Java中,由于Microsoft的Word文档格式复杂,直接读取并不简单,因此通常需要借助第三方库来实现。在给定的描述中提到了几种常用的...

    java版everything+纯java不用任何包读取office中word文件

    此外,描述中还提到了“java读取压缩文件解包压缩文件等各种文件操作类”,这意味着这个项目可能包含了一套完整的文件操作工具集,包括: - **压缩文件**:使用`ZipOutputStream`可以创建ZIP文件,将多个文件或目录...

    使用Java读取Word文件的简单例子分享

    总的来说,Java读取Word文件的方法取决于具体需求和可用资源。如果对性能和稳定性有较高要求,或者需要处理复杂的格式,可能需要选择更专业的库;而对于简单的文本替换任务,使用RTF格式和基础的IO操作可能是一个...

    Java 获取Word中的所有插入和删除修订.doc

    有两种方法可以实现: 1. 手动引入:下载 Free Spire.Doc for Java,并将其解压,然后在 lib 文件夹下找到 Spire.Doc.jar 文件。在 IDEA 中打开项目,选择 File -&gt; Project Structure,然后选择 Modules -&gt; ...

    Java操作Word模板实现动态数据输出

    #### 五、Java读取Word模板文件的方法 在Java环境中读取Word模板文件并填充数据,通常需要借助第三方库,例如Apache POI。以下是简化的步骤: 1. **导入Apache POI库**:在项目中添加Apache POI依赖。 2. **读取...

    利用POI将word转换成html实现在线阅读

    1. **读取Word文档**:使用HWPFDocument或XWPFDocument类根据文档格式打开Word文件。如果是Word 2003格式(.doc),则使用HWPFDocument;如果是Word 2007及以上版本(.docx),则使用XWPFDocument。 2. **遍历文档...

    java 使用POI合并两个word文档.docx

    Java 是一种流行的编程语言,POI(Poor Obfuscation Implementation)是一个流行的 Java 库,用于操作 Microsoft Office 文件,包括 Word 文档。合并两个 Word 文档是指将两个独立的 Word 文档合并成一个新的 Word ...

    java操作wordpdf图片生成图片水印

    本篇将详细介绍如何使用Java来操作Word和PDF文档,并在其中的图片上生成水印。 首先,我们关注的是Java对Word文档的操作。Apache POI是一个非常流行的Java库,用于读写Microsoft Office格式的文件,包括Word(.docx...

    JAVA读取文件——以行为单位读取

    在Java编程语言中,读取文件是常见的任务之一,尤其对于处理文本文件,如TXT文件,以行为单位读取文件内容是一种效率较高且易于管理数据的方式。本篇将深入探讨如何使用Java进行逐行读取TXT文件,并提供相关示例代码...

    Java抽取Word及PDF编程

    本文将详细介绍几种常用的Java技术来实现Word和PDF文件内容的抽取。 #### 二、使用Jacob进行Word文件的抽取 ##### 1. Jacob简介 Jacob(Java COM Bridge)是一种允许Java应用程序调用COM组件的技术。通过Jacob,...

    java调用PageOffice生成word

    总的来说,Java调用PageOffice生成Word是一种高效、灵活的方法,尤其适用于需要从数据库中动态获取数据并填充到文档的场景。通过熟练掌握PageOffice的使用,开发者可以提升企业级应用的文档处理能力,提高工作效率。

    Java操作Excel和Word

    Java作为一种广泛使用的编程语言,提供了多种库和工具来实现对Excel和Word的操作。本篇将详细讲解如何使用Java进行Excel和Word的处理。 首先,我们关注的标题"Java操作Excel和Word"涉及到两个主要部分:Excel和Word...

    poi资源包,java 解析Word,Excel的jar包

    标题中的“poi资源包”指的是Apache POI项目,这是一个开源的Java库,专门用于处理Microsoft Office格式的文件,包括Word(.doc, .docx)、Excel(.xls, .xlsx)以及PowerPoint(.ppt, .pptx)等。这个库使得Java...

    java word(doc,docx,rtf)转为pdf

    - **读取Word文档**:使用Apache POI的HSSFWorkbook或XWPFDocument类读取.doc或.docx文件,HWPFDocument用于处理RTF文件。 - **解析内容**:从Word文档中提取文本、段落样式、图片等信息。 - **创建PDF**:使用iText...

    java导出文件到 pdf,excel,word

    在Java编程环境中,导出数据到PDF、Excel和Word格式是一项常见的需求,这通常涉及到文件处理和格式转换。以下是对这个主题的详细说明: 一、PDF(Portable Document Format)文件导出 PDF是一种通用的文件格式,...

    JAVA动态生成word和pdf.doc

    JAVA动态生成Word和PDF是JAVA开发中的一种常见需求,这里将详细介绍JAVA动态生成Word和PDF的几种方案。 生成Word 1. Jacob方案:Jacob是Java-COM Bridge的缩写,在Java与微软的COM组件之间构建了一座桥梁。使用...

Global site tag (gtag.js) - Google Analytics