POI系列之根據樣式識別word內容和標題

      網友投稿 1165 2025-04-02

      業務場景:最近接到需求,想實現將一份word文檔,其中特定的文本內容獲取出來,首先想到兩種方法,一種是通過OCR技術,一種是通過模板占位符。


      雖然想起來好像是可以實現的,不過ocr技術自己要在短時間實現是不太現實的,要用第三方的會加重項目成本。然后思路是想通過先固定特定的模板,通過一些占位符技術去實現,想法可以,也有在一些付費的第三方應用里看到過,不過實現起來也沒那么容易,特別是想要在一兩天內實現,時間太緊促了,所以只能通過一種小技巧繞過,方法雖然可行,不過不是好的方法

      這種方法是先約定模板,要篩選出來的文本固定一種特定的樣式,然后通過通過程序識別出這種文本,還有一種方法是通過書簽,不過網上搜到有第三方jar是要收費的,就不描述了

      poi-ooxml是word文檔需要的

      3.9 org.apache.poi poi ${poi.version} org.apache.poi poi-ooxml ${poi.version}

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      POI系列之根據樣式識別word內容和標題

      15

      16

      import org.apache.poi.POIXMLDocument; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.model.StyleDescription; import org.apache.poi.hwpf.model.StyleSheet; import org.apache.poi.hwpf.usermodel.Paragraph; import org.apache.poi.hwpf.usermodel.Range; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; import java.io.*; import java.util.List; public class WordUtils { public static void main(String[] args) throws Exception { String filePath = "D://test.docx"; printWord(filePath); } public static void printWord(String filePath) throws IOException { XWPFDocument document = new XWPFDocument(POIXMLDocument.openPackage(filePath)); List paragraphs = document.getParagraphs(); for (XWPFParagraph p : paragraphs) { //獲取段落中的句列表 List runsLists = p.getRuns(); for (XWPFRun runs : runsLists) { //獲取句的字體顏色 String c = runs.getColor(); //獲取句中字的大小 int f = runs.getFontSize(); //獲取文本內容 String s = runs.getText(0); // 字體為16的黑色字體都篩選出來 if (f == 16 && "000000".equals(c)) { System.out.println(s); } } } } }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      32

      33

      34

      35

      36

      37

      38

      39

      40

      41

      42

      43

      44

      ps:本博客內容比較簡單,只是自己做下記錄,有時間再探討一下實現,網上實現的很多都是付費的,不建議用本博客的方法,本博客只是自己做下筆記

      OCR

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:怎么在word中制作并編輯表格(怎樣編輯word中的表格)
      下一篇:怎么利用Excel2010還原排序(Excel如何恢復排序)
      相關文章
      久久久久亚洲AV片无码| 国产亚洲综合成人91精品| 亚洲国产老鸭窝一区二区三区| 亚洲美女在线国产| www国产亚洲精品久久久日本| 亚洲va中文字幕| 亚洲精品无码成人片久久不卡| 亚洲综合一区无码精品| 亚洲人成网站色在线观看| 亚洲AV无码乱码麻豆精品国产| 亚洲国产电影在线观看| 亚洲婷婷天堂在线综合| 亚洲不卡视频在线观看| 亚洲综合中文字幕无线码| 亚洲一区二区三区在线观看网站| 中文文字幕文字幕亚洲色| 亚洲综合久久精品无码色欲| 亚洲一区二区无码偷拍| 亚洲AV无码成人网站在线观看| 亚洲AV无码一区二区一二区| 国产精品亚洲专区在线播放| 亚洲精品无码久久久久AV麻豆| 精品亚洲视频在线观看 | 亚洲中文字幕久久精品无码喷水 | 中文字幕亚洲日韩无线码| 亚洲色图综合在线| 精品亚洲综合在线第一区| 久久亚洲国产成人精品性色| 亚洲国语在线视频手机在线| 亚洲色大成网站WWW国产| 亚洲AV无码AV男人的天堂不卡| 亚洲国产成人精品女人久久久| 久久久久久久亚洲精品| 亚洲色成人WWW永久网站| 久久91亚洲精品中文字幕| 亚洲欧洲日产国码在线观看| 亚洲一区在线视频| 亚洲成av人无码亚洲成av人| 亚洲午夜无码片在线观看影院猛| 亚洲色大成网站WWW久久九九 | 亚洲av中文无码字幕色不卡|