`
18335864773
  • 浏览: 22169 次
文章分类
社区版块
存档分类
最新评论

[转载]java获取word里面的文本

阅读更多

需求场景

  开发的web办公系统如果需要处理大量的Word文档(比如有成千上万个文档),用户一定提出查找包含某些关键字的文档的需求,这就要求能够读取 word 中的文字内容,而忽略其中的文字样式、表格、图片等信息。

方案分析

  方案一:使用Apache POI技术将所有服务器上文档的文本获取后存储到数据库,查找文档时利用sql语句检索数据中存储的文档文本是否包含关键字来搜索到相关文档。然而现在 microsoft word 有两种文档格式doc和docx,这两个版本存储数据的格式上都有相当大的差别。调研发现apache  POI针对doc和docx提供了两套不同的API接口,需要针对两种文档格式编写不同的代码,word文档自身格式复杂,读取word文档内容的代码会对服务器造成一定的压力,且无法实现让用户在线处理word文档。 

  POI主页地址:https://poi.apache.org/

  方案二:使用PageOffice组件的FileSaver对象的getDocumentText方法,获取word文档中的纯文本内容,且如果调用PageOffice实现此功能的话,同时也可以实现word文件的在线编辑。

  

实现步骤

  1. 调用PageOffice在线打开word文件,比如:test.doc

复制代码
PageOfficeCtrl poCtrl=new PageOfficeCtrl(request);
//设置服务器页面
poCtrl.setServerPage(request.getContextPath()+"/poserver.zz");
//设置保存页面为SaveFile.jsp,或SaveFile.do SaveFile.action 等action方法或RequestMapping方法均可
poCtrl.setSaveFilePage("SaveFile.jsp");
//打开Word文档
poCtrl.webOpen("doc/test.doc",OpenModeType.docNormalEdit,"Tom");
复制代码

  2. 在处理保存操作的页面(SaveFile.jsp)或方法里执行保存文件和获取文档中纯文本内容的操作:

复制代码
FileSaver fs=new FileSaver(request,response);
fs.saveToFile(request.getSession().getServletContext().getRealPath("doc/")+"/"+fs.getFileName());//保存文件
String strDocumentText = fs.getDocumentText();//获取文档的纯文本内容,不带任何附加格式 
// - 编写代码,保存文档的文本内容到数据库 - //
......
fs.close();
复制代码

  3. 需要对全文检索的时候,只需对数据库中保存了word文件纯文本内容的数据库字段做SQL查询即可。

分享到:
评论

相关推荐

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

    Java 获取 Word 中的所有插入和删除修订 在 Word 文档中启用跟踪更改功能后,会记录文档中的所有编辑行为,例如插入、删除、替换和格式更改。这篇文章将介绍如何使用 Java 获取 Word 文档中的所有插入和删除修订。 ...

    Java读取多Word文档中指定位置的表格数据或文本内容

    Java读取Word文档中指定位置(可以自己自定义位置)的表格数据或文本内容 * @param filePath 文档路径 * @param start 指定位置开始读取表格数据的该位置上的字符串 * @param end 指定位置开始结束读取表格数据的该...

    java准确读取word页码

    在Java编程环境中,读取Word文档的页码是一项常见的任务,尤其在处理大量文档数据时。这个场景下,我们通常会使用Apache POI库,这是一个强大的API,专门用于处理Microsoft Office格式的文件,包括Word(.doc和.docx...

    Java Poi流 根据Word模板插入相应的文本、表格和图片,生成新的Word报告

    在本主题中,我们将深入探讨如何使用Java POI流处理Word模板,插入文本、表格和图片,以及生成新的Word报告。 1. **Java POI流处理Word模板**: - POI API提供了`XWPFDocument`类来处理`.docx`文件,这是Word 2007...

    java操作word可操作书签

    1. **解压 .docx 文件**:使用 `java.util.ZipFile` 类来打开并读取 .docx 文件,获取 `word/document.xml` 的 `ZipEntry`。 2. **解析 XML**:使用 `javax.xml.parsers.DocumentBuilderFactory` 和 `...

    java读取word2003

    在Java编程环境中,读取Word 2003文档是一项常见的任务,这通常涉及到处理`.doc`文件格式。为了实现这个功能,开发者可以利用各种库,如Apache POI或者JODConverter。Apache POI是一个流行的开源项目,它提供了对...

    Java读取Word中的表格(Excel),并导出文件为Excel

    在Java编程中,有时我们需要处理来自不同文档格式的数据,例如从Word文档中提取表格内容,并将其转换成Excel文件。这通常涉及到使用Apache POI库,一个强大的API,用于读写Microsoft Office格式的文件,包括Word(....

    java替换word中的变量

    在Java编程环境中,替换Word文档中的变量是一项常见的需求,特别是在自动化文档生成或者模板处理的场景中。本知识点将深入探讨如何使用Java实现这一功能,主要涉及的库是Apache POI,这是一个广泛使用的开源库,用于...

    java提取word内容

    在Java编程环境中,提取Word文档内容是一项常见的任务,特别是在数据处理、文档自动化或者信息抽取等领域。Word文档(.doc或.docx)存储了文本、格式、图像等多种元素,而Java提供了一些库,如Apache POI和...

    java2word程序代码及jar包

    通过Java2Word和Jacob,开发者可以轻松地在Java应用中实现Word文档的生成,这对于企业级应用来说尤其有用,比如报表系统、合同管理系统、知识库等,可以大大提高工作效率,减少手动操作。不过,需要注意的是,由于...

    java数据源导出WORD文档(包括图片、表格及文本)

    最近因项目开发的需要,整理了一份用JAVA导出WORD文档,其部署步骤如下: 1、将jacob-1.14.3-x86.dll放在服务器的系统盘...以上配置配好后即可加载exp_java_word_demo项目,里面有示例代码,望对有需要的人有所帮助!

    Java2Word安装包

    Java2Word是一款基于Java开发的工具,主要用于将Java源代码或者其他文本内容转换成Microsoft Word文档。这个安装包“Java2Word.rar”包含了实现这一功能的所有必要文件,使得用户能够方便地将程序或技术文档导出为...

    java之jacob实现获取word文件的内容

    读取word文件的内容,并将内容返回为String类型!

    java读取word文档内容以及字体大小和颜色

    java读取不同版本文档的内容以及字体大小,实现对文档格式进行匹配!

    java2word 文档

    这些示例代码虽然未在文本中给出,但在实际的Java2Word文档中应有详细的示例和解释,帮助开发者理解和实现相应的功能。总的来说,Java2Word通过Jacob组件为Java开发者提供了便捷的途径,使他们能够在服务器端生成、...

    Java读取Word表格内容

    通过Java读取word表格中的内容,将内容存到数据库中,将Word中的图片存到硬盘中

    JAVA 导出WORD

    在Java编程环境中,导出Word文档是一项常见的任务,特别是在企业级应用中,如报表生成、数据导出等。本文将详细讲解如何使用Java实现Word文档的导出,并着重介绍涉及的库和关键技术。 首先,标题"JAVA 导出WORD"指...

    Java Poi流根据Word模板插入相应的文本、表格和图片,并生成新的Word报告。

    在这个场景中,我们关注的是如何利用Java POI库通过Word模板生成包含特定文本、表格和图片的报告。 首先,我们需要了解Java POI中的XWPFDocument类,它是用来处理.docx文件的。XWPFDocument可以读取、修改和创建...

    java2Word在Word任意位置插入图片

    由于项目需要,苦苦对Java操作Word进行了一番研究,包括当下比较流行的java2Word、jacob、POI、itext等,只能说各有千秋,但是没有一个是完全适合我的,没有办法,只能去各种尝试,在研究了java2Word这个jar包的API...

Global site tag (gtag.js) - Google Analytics