`

使用POI提取Word文件的文本内容

阅读更多

使用POI提取Word文件的文本内容

POI是Apache的一个开源项目,可以到Apache网站下载相应的jar包文件,及其源文件。

POI提供了提取一些非TXT文本中文本内容的API,比如提取Word,Excel等,使用起来非常方便。

为了说明POI提起Word文件的方便和简单,通过提取一个Word文件的文本来,来了解POI API的功能。

假设在本地磁盘中存在一个Word文件

E:POIwordJBoss3.0 下配置和部署EJB简介.doc文件是具有格式的,内容如图所示:

下面看看提取它的内容是多么简单。

首先从Apache网站上下载POI的相关jar包。

新建一个测试类:

package org.shirdrn.word;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import org.apache.poi.hwpf.extractor.WordExtractor;

public class MyWordExtractor {

public static void main(String[] args) {
   File file = new File("E:\POI\word\JBoss3.0 下配置和部署EJB简介.doc");
   try {
    FileInputStream fis = new FileInputStream(file);
    WordExtractor wordExtractor = new WordExtractor(fis);
    System.out.println("【 使用getText()方法提取的Word文件的内容如下所示:】");
    System.out.println(wordExtractor.getText());
   } catch (FileNotFoundException e) {
    e.printStackTrace();
   } catch (IOException e) {
   e.printStackTrace();
}
}
}

提取Word文件的文本内容,打印到控制台上,如下所示:

使用WordExtractor类的getTextFromPieces()方法提取:

wordExtractor.getTextFromPieces();

结果和上面是一样的。

WordExtractor类还有一个可以提取Word文件的各个段落的方法getParagraphText(),返回一个String[]数组,数组中每个元素为一个段的文本内容。

这里,对Word文件中换行也看成是一个段,测试如下:

package org.shirdrn.word;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import org.apache.poi.hwpf.extractor.WordExtractor;

public class MyWordExtractor {

public static void main(String[] args) {
   File file = new File("E:\POI\word\JBoss3.0 下配置和部署EJB简介.doc");
   try {
    FileInputStream fis = new FileInputStream(file);
    WordExtractor wordExtractor = new WordExtractor(fis);
    System.out.println("【 使用getText()方法提取的Word文件的内容如下所示:】");
    String[] paragraph = wordExtractor.getParagraphText();
    System.out.println("该Word文件共有"+paragraph.length+"段。");
    for(int i=0;i <paragraph><br>      System.out.println("&lt; 第 "+(i+1)+" 段的内容为 &gt;");<br>      System.out.println(paragraph[i]);<br>     }<br>    } catch (FileNotFoundException e) {<br>     e.printStackTrace();<br>    } catch (IOException e) {<br>    e.printStackTrace();<br> }<br> }<br> }</paragraph>

提取Word文件的文本内容,打印到控制台上,如下所示:

从上面的Word文件可以看出,最后一行是Word文件的一个换行符,使用WordExtractor提取时,也把它默认成为一个段,因为一个段结束后应该有一个回车换行符。

如果有多个Word文件,而且放在不同的目录下,要提取它们的文本内容,可以实现一个递归的函数,通过深度遍历,为每一个Word文件进行提取。

如果需要,可以将提取到的Word文件的文本内容输出到本地磁盘中,比如以txt记事本的根式保存。

从上面可以看出,提取Word文件的文本内容,实际上是将Word文件的格式去掉了,获取到文本的内容。

分享到:
评论

相关推荐

    java 利用POI读取Word文件中的内容

    本篇将详细介绍如何利用Apache POI库来读取Word文件中的内容。 首先,理解Apache POI的基本概念。POI是“Poor Obfuscation Implementation”的缩写,最初是为了反向工程微软的文件格式而创建的。如今,它已经成为...

    POI解析word2007文本及图片(已测试).doc

    Apache POI 提供了对 Word 2007 文本和图片的解析功能,允许开发者读取和提取 Word 文档中的文本和图片内容。 Word 2007 文档结构 Word 2007 文档是基于 OpenXML 标准的,使用 ZIP 压缩文件格式来存储文档内容。...

    使用poi将word读取后替换指定内容后再次生成新word

    使用poi将word读取后替换指定内容后再次生成新word,本人经过测试,拿来即用!

    [简单]poi读取word 2007简单文本框值

    标题中的“poi读取word 2007简单文本框值”指的是使用Apache POI库来读取Microsoft Word 2007文档中简单文本框内的文本内容。Apache POI是一个流行的开源Java库,用于处理Microsoft Office格式的文件,如Word(.docx...

    POI读取word文档的文字内容和图片内容

    在本主题中,我们将深入探讨如何使用POI库读取Word文档中的文字内容和图片。 首先,我们需要理解Word文档的基本结构。Word文档本质上是由一系列基于XML的数据存储在.OFFICEML格式的文件中,这使得我们可以通过解析...

    java Apache poi 对word doc文件进行读写操作

    这个模块使得开发人员能够读取和写入 .doc 文件,而不仅仅是提取文本内容。 `HWPFDocument` 类是 HWPF 模块的核心,它代表了一个 Word .doc 文档。当你创建或打开一个 `HWPFDocument` 对象时,你可以访问文档的各个...

    apache poi读取word内容

    在本案例中,我们将关注如何使用Apache POI来读取Word文档的内容,并将其以流的形式返回到Web应用程序的前端页面。 首先,Apache POI提供了一个名为`XWPFDocument`的类,用于处理`.docx`格式的Word文档。这个类允许...

    java poi把word文档转化为html,支持doc。

    - 加载Word文档:使用POI的`HWPFDocument`类(针对.doc文件)或`XWPFDocument`类(针对.docx文件)打开Word文档。 - 遍历文档内容:通过遍历文档的各个部分,如`Paragraph`、`Table`等,获取其文本和样式信息。 -...

    POI读取word文件内容

    在这个场景中,我们将聚焦于如何使用POI来读取Word文档的内容。 首先,我们需要了解Word的两种基本文件格式:`.doc`和`.docx`。`.doc`是早期版本的Word文档格式,而`.docx`是自Word 2007以来使用的基于XML的压缩...

    poi导入word和图片

    本文档将详细介绍如何使用 POI 库来读取 Word 文档(包括 .doc 和 .docx 格式)中的文本内容以及提取其中的图片。 #### 二、环境配置与依赖 为了能够顺利地执行示例代码,需要确保项目的 build 环境包含了以下依赖...

    poi解析word文档 及 试卷数学公式导入wmf图片转成png图片

    标题中的“poi解析word文档”指的是使用Apache POI库来处理Microsoft Word(.doc或.docx)文件。Apache POI是Java中一个流行的库,它允许开发者读取、写入和修改Microsoft Office格式的文件,包括Word、Excel和...

    word内容提取 word转html-POI wps doc docx转html

    1. **Word内容提取**:Apache POI提供了API来访问Word文档中的文本、样式、图像和表格。通过HWPFFactory和XWPFDocument类,我们可以分别处理旧版的.doc文件和较新的.docx文件。使用这些类,可以逐段、逐行地遍历文档...

    POI 生成Word文档

    本教程将深入探讨如何使用POI库生成Word文档。 1. **Apache POI 概述** - POI 是一个Java库,允许开发者在Java应用程序中操作Microsoft Office格式的文件。 - 主要支持的文件格式有HSSF(处理.xls Excel 97-2003...

    使用POI解析word文档数据

    对于Word文档,POI提供了HWPF(Horrible Word Processor Format)用于处理旧版的.doc文件,以及XWPF(XML Word Processor Format)用于处理较新的.docx文件。 1. **解析.doc文件**: 对于老版本的Word文档,如.doc...

    使用poi完成的word操作.zip

    Apache POI提供API读取Word文档内容,例如,你可以使用`XWPFDocument`类打开一个.docx文件,或者使用`HWPFDocument`类打开一个.doc文件。然后,你可以访问文档的段落、表格、图片等元素。 2. **Word转换成HTML**:...

    Android上使用POI抽取WordExcel和PPT内容工程源码

    总之,“Android4Office”项目提供了一个基础框架,帮助开发者在Android环境中使用Apache POI库处理Word、Excel和PPT文件。通过深入理解上述知识点,开发者可以在此基础上进行扩展,实现更复杂的Office文档操作功能...

    JAVA读取WORD_EXCEL_POWERPOINT_PDF文件的方法(poi)

    JAVA 读取 WORD_EXCEL_POWERPOINT_PDF 文件的方法(poi) JAVA 读取 WORD_EXCEL_POWERPOINT_PDF 文件的方法是使用 ...使用 Apache POI 库可以轻松地读取 WORD_EXCEL_POWERPOINT_PDF 文件,并提取其中的文本内容。

    利用poi+itextpdf进行word转pdf.rar

    然后,我们可以加载Word文档,遍历其内容,如段落和表格,提取文本和样式信息。 接下来,我们将使用iTextPDF,这是一个强大的PDF处理库,可以创建、修改和操作PDF文档。为了将Word转换为PDF,我们需要将从POI中提取...

    使用 POI 解析 Word文档

    在本文中,我们将深入探讨如何使用 POI 库来解析 Word 文档,提取其中的信息。 首先,理解 POI 的工作原理是至关重要的。POI 使用低级别的 HSSF 和 XSSF 模块来处理 Excel 文件,而 HWPF 和 XWPF 模块则用于处理 ...

Global site tag (gtag.js) - Google Analytics