需求场景

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

方案分析

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

方案二:使用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中的文字,java获取word里面的文本相关推荐

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

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

  2. Java提取视频中的音频

    话不多说,上代码 Scanner scanner = new Scanner(System.in);System.out.println("请输入被提取音频的视频:");Strin ...

  3. 在Word中隐藏文字

    在Word中隐藏文字 在用Word中编辑文档时,有时需要对文档中的部分文字进行隐藏,例如在制作试卷时,可以先将答案连同试题一起制作出来,在打印前将答案隐藏,然后在阅卷或讲解试题时再将隐藏的文字显示出来 ...

  4. Java 实现word 中写入文字图片的解决方案

    Java 实现word 中写入文字图片的解决方案 参考文章: (1)Java 实现word 中写入文字图片的解决方案 (2)https://www.cnblogs.com/jianguang/p/57 ...

  5. Spring Boot 提取pdf中的文字

    Spring Boot 提取pdf中的文字 提取pdf中的文字,由于字体不同,可能会提取出来乱码.(友情提示:建议先pdf文件转成图片,然后调用百度api提取文字,准确率高.跳转链接:https:// ...

  6. 怎么提取照片中的文字?

    俗话说:好记性不如烂笔头.不管是我们工作中还是学习中,都是有需要记录的事项.如果内容比较少时直接手写下来,一旦多了,如果还是用手记录,这既繁琐又耗时.而用手机拍一拍,这将解决我们整理中出现的问题,后续 ...

  7. py提取文字中的时间_怎样提取照片中的文字?照片文字提取软件推荐

    怎样提取照片中的文字?平时,我很爱看些甜甜的言情小说,也对很多充满浪漫气息的图片.文字没有抵抗力(想把它们给保存.记录下来,以后可回看).不过,图片一键就可以保存下来了,想要记录图中文案还得使用ocr ...

  8. python提取cad中的文字_[python]提取PPT中的文字(包括图片中的文字)

    python是一门很强大的语言,因为有着丰富的第三方库,所以可以说Python是无所不能的. 很多人都知道,Python可以操作Excel,PDF·还有PPT,这篇文章就围绕Python提取PPT中的 ...

  9. Python提取PDF中的文字和图片

    一,使用Python提取PDF中的文字 # 只能处理包含文本的PDF文件 #coding=utf-8 import sys import importlib importlib.reload(sys) ...

最新文章

  1. Java开发小技巧(六):使用Apache POI读取Excel
  2. 【SharePoint 2010】将Sharepoint Server 2010部署到WINDOWS 7
  3. 君正T20平台生成jffs2格式rootfs
  4. magento URL分析,查找修改相应文件
  5. curl post请求 header host_(科普文)curl quot;可quot;得一切
  6. 小米CC9 Pro同款一亿像素摄像头有望被三星Galaxy S11采用
  7. 阿里安全的“自动逆向机器人”TimePlayer 究竟是什么
  8. web端项目展开测试步骤
  9. matlab 格式化文本文件的解析
  10. ProjectEuler 009题
  11. python:解决pip install下载安装库非常慢的问题
  12. Clone 1. 肿瘤克隆进化之前世今生
  13. 自定义Unity调色板
  14. Windows系统下Android DNK r5环境配置和开发(二)
  15. python外汇兑换代码_Python爬取中国银行外汇牌价
  16. 光学系统建模之Light Tools安装关键点、教程指引
  17. 面部AR遥控器:使用AR制作动画
  18. Vue+element 实现英雄榜功能
  19. Python实现RSA加密算法
  20. 电路-第五版-邱关源-习题解答-第二章

热门文章

  1. 花滑三周连跳_花滑未来能有人做五周跳吗 专家:四周半或是极限
  2. TensorFlow 网络模型移植和训练指南
  3. Python3时间戳转换为指定格式的日期
  4. Vue实现吸顶的效果
  5. python(第九天)
  6. 数据库安全性 --- 控制
  7. Windows注册表修改技巧
  8. blender操作说明
  9. Stduino学习(二十四)敲击传感器模块
  10. 计算机网络三级考的是什么,三级网络技术都考什么东西?