`
haofenglemon
  • 浏览: 245653 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

POI 之二 poi操作解析word

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

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

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

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

E:\POI\word\JBoss3.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.length;i++){
     System.out.println("< 第 "+(i+1)+" 段的内容为 >");
     System.out.println(paragraph[i]);
    }
   } catch (FileNotFoundException e) {
    e.printStackTrace();
   } catch (IOException e) {
   e.printStackTrace();
}
}
}

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

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

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

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

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

相关推荐

    poi-tl解析Word文档

    poi-tl解析Word文档,包含表格类型的也可以

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

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

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

    Apache POI 解析 Word 2007 文本及图片 Apache POI (Poor Obfuscation Implementation) 是一个 Java 库,用于读取和写入 Microsoft Office 文件,包括 Word、Excel、PowerPoint 等。 Apache POI 提供了对 Word ...

    poi解析导入word (简单Demo使用)

    在"poi解析导入word (简单Demo使用)"这个主题中,我们将深入探讨如何使用Apache POI库来读取、修改和创建Word文档。这个项目包含了一个POM文件(项目对象模型),一个Demo示例,以及一个docx文件,提供了完整的导入...

    POI操作word工具类

    完整的支持POI操作word以下功能: 1.替换模板数据 2,替换表格数据 3.word表格行内添加 4.word写入写出

    poi解析excel、word2007,2010等版本

    本项目中的"poiTest"是一个Web应用示例,它演示了如何使用Apache POI来解析不同版本的Excel(如2007、2010)以及Word2007和2010文档。 1. **Apache POI 简介** Apache POI 是由Apache软件基金会开发的一个项目,...

    POI读取 word 2003 和 word 2007 的例子

    这是一个POI读取word 2003 和 word 2007的例子 是一个Eclipse工程 下载后直接导入工程 运行 src 目录下的 Test java 类即可 这个 rar 包中包含着 POI 读取word 2003 和 word 2007 所需要的 jar 包 也有需要读取的 ...

    poi 解析 office excel 2003,2007 word 2003,2007 的示例

    本示例将详细介绍如何使用Apache POI解析Office Excel 2003和2007,以及Word 2003和2007的文件。 首先,我们来看Excel的解析。Excel 2003使用的是.BOOK文件格式(HSSFWorkbook),而2007及以上版本使用的是.XLSX...

    poi 解析word文档的必用jar

    以下是一些使用Apache POI解析Word文档的基本步骤: 1. **导入必要的库**: 首先,你需要在你的Java项目中引入Apache POI库,包括上述提到的"poi-3.5-beta6-20090622.jar"。现代项目中,通常会使用Maven或Gradle来...

    poi完美word转html

    在将Word文档转换为HTML时,Apache POI使用了WordToHtmlConverter类,该类能够解析Word文档并将其转换为DOM树,然后将DOM树转换为HTML格式。此过程中,POI会尝试保持Word文档中的原始布局和样式,但并非所有特性都能...

    JAVA_Poi.rar_Java 解析WORD_POI word_java pio_pressureulb_word解析

    在这个场景中,"JAVA_Poi.rar"是一个压缩包,包含了关于如何使用Java和Apache POI解析Word文档的示例和资源。 标题中的"Java 解析WORD_POI word_java pio_pressureulb_word解析"指出了主要的技术点:使用Java的...

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

    在Word 2007中,用户可以插入文本框来组织或装饰文本,而POI库提供了方法来访问和操作这些元素。 在Word 2007中,文档内容是以Open XML标准存储的,这是一个基于XML的结构化格式。文本框被表示为`&lt;w:txBody&gt;`元素,...

    poi操作word模板

    在"poi操作word模板"的场景中,我们主要关注如何使用Apache POI库来自动化填充Word文档模板,这在批量生成报告、合同或其他需要标准化格式但需个性化数据的文档时非常有用。 首先,理解Apache POI的基本概念是必要...

    poi实现对word读写操作源码

    本压缩包提供的"poi实现对word读写操作源码"包含了使用Apache POI进行Word文档处理的示例代码和必要的依赖库。 首先,让我们深入了解Apache POI的几个核心概念: 1. **HWPF(Horrible Word Processor Format)**:...

    安卓使用poi读取及修改word文档

    Apache POI是一个广泛使用的开源库,它允许开发者用纯Java代码操作微软的Office格式,包括Word(.doc)、Excel(.xls)和PowerPoint(.ppt)等。在"安卓使用POI读取及修改Word文档"这个主题中,我们将深入探讨如何在...

    poi解析word的所有jar包

    poi解析word文档的所需jar包,有poi-3.9.jar ,poi-ooxml-3.8-20120326.jar poi-scratchpad-3.8-20120326.jar dom4j-1.6.1.jar xmlbeans-2.6.2.jar ooxml-schemas-1.1.jar 解析word表格的示例代码地址为...

    POI操作Word资料

    在这个"POI操作Word资料"的主题中,我们将深入探讨如何使用Apache POI来创建、读取、修改和操作Word文档。 首先,Apache POI提供了HWPF(Horrible Word Processor Format)库来处理老版本的Word文档(.doc),以及...

    使用 POI 解析 Word文档

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

    poi解析word、excel/ppt 及其其他相应的工具jar

    7. commons-lang-2.6.jar:Apache Commons Lang,提供了一些Java语言没有的高级功能,如字符串操作、日期处理等,是POI的依赖库之一。 8. aliyun-sdk-oss-2.0.6.jar:这是阿里云对象存储服务(OSS)的SDK,如果需要...

    poi解析word文档Demo1.zip

    在这个“poi解析word文档Demo1.zip”示例中,我们将深入探讨如何利用Apache POI库来解析Word文档。 在Java中,Apache POI提供了HWPF(Horrible Word Processor Format)类库来处理老版的Word文档(.doc),以及XWPF...

Global site tag (gtag.js) - Google Analytics