[原创]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查询即可。
转载于:https://www.cnblogs.com/ziwuxian/p/9015049.html
[原创]java获取word里面的文本相关推荐
- java提取word中的文字,java获取word里面的文本
需求场景 开发的web办公系统如果需要处理大量的Word文档(比如有成千上万个文档),用户一定提出查找包含某些关键字的文档的需求,这就要求能够读取 word 中的文字内容,而忽略其中的文字样式.表格. ...
- [原创]java读写word文档,完美解决方案
[原创]java读写word文档,完美解决方案 参考文章: (1)[原创]java读写word文档,完美解决方案 (2)https://www.cnblogs.com/ziwuxian/p/89812 ...
- Java 获取Word批注所标记的文本和图片
[环境配置] 本文将通过Java程序代码来展示如何来获取Word批注所标注的文本和图片.这里使用的Word Jar包工具是Free Spire.Doc for Java,在pom.xml中按如下步骤配 ...
- java全文检索word中的内容_java获取word里面的文本
需求场景 开发的web办公系统如果需要处理大量的Word文档(比如有成千上万个文档),用户一定提出查找包含某些关键字的文档的需求,这就要求能够读取 word 中的文字内容,而忽略其中的文字样式.表格. ...
- Java 获取Word中的所有插入和删除修订
在 Word 文档中启用跟踪更改功能后,会记录文档中的所有编辑行为,例如插入.删除.替换和格式更改.对插入或删除的内容,可通过本文中介绍的方法来获取. 引入Jar 方法1 手动引入:将 Free Sp ...
- Java获取word表格中的数据
前言: 有时系统中需要提取各种文件中的数据,比如做报表的系统中就常常与Excel表格数据做交互.做Excel报表数据时有选择POI实现的,但是POI功能也很单一,对于文档格式维护性差,最重要的是POI ...
- Java 提取Word中的文本和图片
本文将介绍通过Java来提取或读取Word文档中文本和图片的方法.这里提取文本和图片包括同时提取文档正文当中以及页眉.页脚中的的文本和图片. 使用工具:Free Spire.Doc for Java ...
- java mysql 获取页码,java获取word页数
1.java 要怎么准确获取word的总页数 XWPFDocument docx = new XWPFDocument(POIXMLDocument.openPackage(电月度例会会议纪要.doc ...
- java获取word图片_java代码获取word文件中的图片
1:需求 在线打开word文件后,用户插入图片.然后保存图片到服务器 2:方案 用pageoffice 在线打开文档的功能和提交数据的功能实现 3:核心代码 4:实现过程 (1)因为要获取数据区域的数 ...
最新文章
- 百度大脑金秋九月CV盛典,人脸识别新产品及伙伴计划发布会压轴开启
- 关于文件格式和编码方式,乱码产生的原因?
- 工具型产品+社区为何无法从根本上解决留存问题?
- [20161128]关于Little Enddian.txt
- java 产生随机数_java生成随机数
- 力扣-605 种花问题
- 走进C标准库(6)——string.h中函数的实现memchr
- Median of Two Sorted Array leetcode java
- 工具类软件操作手册_小规模纳税人开票前完成开票软件升级,关于1%税率的发票...
- win11电脑摄像头打不开,如下图
- cv.threshold()
- 微博发布头条文章失去文本样式以及图片
- ZenCart商店 OpenzcTPL模版安装教程
- Quoted-printable1(BUCTF在线评测)
- 服务器测速文件,云服务器测速代码
- 技术实力雄厚的新公链Aergo带你看应用落地
- 国科大《模式识别》课程总结
- 账号批量注册软件开发启示录
- Fastdfs数据迁移方案
- 修改macOS中程序坞的位置和图标大小
热门文章
- android 静态方法 构造方法,android基础-Java篇02:类和对象、构造方法、访问权限控制、重载、this关键字、static关键字...
- html 输入框从左上角,在输入框的左上角,使文本开始_input_开发99编程知识库
- php cpu mac,PHP 获得计算机的唯一标识[CPU,网卡 MAC地址]
- linux里hba状态_Windows和Linux系统查看HBA卡wwn号的方法 | 系统之家官网
- Python中的append()和extend()
- 数字签名 那些密码技术_密码学中的数字签名
- Java GregorianCalendar computeFields()方法与示例
- 关于Makefile,Makefile.in,Makefile.am,Configure功能及相互关系的问题
- c和汇编混合编程----shellcode----弹出计算器
- 汇编语言——第1次上机实验