日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[原创]java获取word里面的文本

發布時間:2023/11/30 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [原创]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里面的文本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。