需求场景

  开发的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查询即可。

转载于:https://www.cnblogs.com/ziwuxian/p/9015049.html

[原创]java获取word里面的文本相关推荐

  1. java提取word中的文字,java获取word里面的文本

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

  2. [原创]java读写word文档,完美解决方案

    [原创]java读写word文档,完美解决方案 参考文章: (1)[原创]java读写word文档,完美解决方案 (2)https://www.cnblogs.com/ziwuxian/p/89812 ...

  3. Java 获取Word批注所标记的文本和图片

    [环境配置] 本文将通过Java程序代码来展示如何来获取Word批注所标注的文本和图片.这里使用的Word Jar包工具是Free Spire.Doc for Java,在pom.xml中按如下步骤配 ...

  4. java全文检索word中的内容_java获取word里面的文本

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

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

    在 Word 文档中启用跟踪更改功能后,会记录文档中的所有编辑行为,例如插入.删除.替换和格式更改.对插入或删除的内容,可通过本文中介绍的方法来获取. 引入Jar 方法1 手动引入:将 Free Sp ...

  6. Java获取word表格中的数据

    前言: 有时系统中需要提取各种文件中的数据,比如做报表的系统中就常常与Excel表格数据做交互.做Excel报表数据时有选择POI实现的,但是POI功能也很单一,对于文档格式维护性差,最重要的是POI ...

  7. Java 提取Word中的文本和图片

    本文将介绍通过Java来提取或读取Word文档中文本和图片的方法.这里提取文本和图片包括同时提取文档正文当中以及页眉.页脚中的的文本和图片. 使用工具:Free Spire.Doc for Java ...

  8. java mysql 获取页码,java获取word页数

    1.java 要怎么准确获取word的总页数 XWPFDocument docx = new XWPFDocument(POIXMLDocument.openPackage(电月度例会会议纪要.doc ...

  9. java获取word图片_java代码获取word文件中的图片

    1:需求 在线打开word文件后,用户插入图片.然后保存图片到服务器 2:方案 用pageoffice 在线打开文档的功能和提交数据的功能实现 3:核心代码 4:实现过程 (1)因为要获取数据区域的数 ...

最新文章

  1. 百度大脑金秋九月CV盛典,人脸识别新产品及伙伴计划发布会压轴开启
  2. 关于文件格式和编码方式,乱码产生的原因?
  3. 工具型产品+社区为何无法从根本上解决留存问题?
  4. [20161128]关于Little Enddian.txt
  5. java 产生随机数_java生成随机数
  6. 力扣-605 种花问题
  7. 走进C标准库(6)——string.h中函数的实现memchr
  8. Median of Two Sorted Array leetcode java
  9. 工具类软件操作手册_小规模纳税人开票前完成开票软件升级,关于1%税率的发票...
  10. win11电脑摄像头打不开,如下图
  11. cv.threshold()
  12. 微博发布头条文章失去文本样式以及图片
  13. ZenCart商店 OpenzcTPL模版安装教程
  14. Quoted-printable1(BUCTF在线评测)
  15. 服务器测速文件,云服务器测速代码
  16. 技术实力雄厚的新公链Aergo带你看应用落地
  17. 国科大《模式识别》课程总结
  18. 账号批量注册软件开发启示录
  19. Fastdfs数据迁移方案
  20. 修改macOS中程序坞的位置和图标大小

热门文章

  1. android 静态方法 构造方法,android基础-Java篇02:类和对象、构造方法、访问权限控制、重载、this关键字、static关键字...
  2. html 输入框从左上角,在输入框的左上角,使文本开始_input_开发99编程知识库
  3. php cpu mac,PHP 获得计算机的唯一标识[CPU,网卡 MAC地址]
  4. linux里hba状态_Windows和Linux系统查看HBA卡wwn号的方法 | 系统之家官网
  5. Python中的append()和extend()
  6. 数字签名 那些密码技术_密码学中的数字签名
  7. Java GregorianCalendar computeFields()方法与示例
  8. 关于Makefile,Makefile.in,Makefile.am,Configure功能及相互关系的问题
  9. c和汇编混合编程----shellcode----弹出计算器
  10. 汇编语言——第1次上机实验