php网站商城源码,建设企业网站的需求分析,安徽网站建设价格,建材 网站 模板需求场景 开发的web办公系统如果需要处理大量的Word文档#xff08;比如有成千上万个文档#xff09;#xff0c;用户一定提出查找包含某些关键字的文档的需求#xff0c;这就要求能够读取 word 中的文字内容#xff0c;而忽略其中的文字样式、表格、图片等信息。 方案分析…需求场景 开发的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 poCtrlnew 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 fsnew 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