1.明确几个概念:
Range:它表示一个范围,这个范围可以是整个文档,也可以是里面的某一小节(Section),也可以是某一个段落(Paragraph),还可以是拥有共同属性的一段文本(CharacterRun)。
Section:word文档的一个小节,一个word文档可以由多个小节构成。Paragraph:word文档的一个段落,一个小节可以由多个段落构成。
CharacterRun:具有相同属性的一段文本,一个段落可以由多个CharacterRun组成。
Table:一个表格。
ableRow:表格对应的行。
TableCell:表格对应的单元格。
2.依赖包:
<!-- POI依赖,读取.docx型文档-->
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.1</version>
</dependency>
<!-- POI依赖,读取.doc型文档-->
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-scratchpad -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.1.1</version>
</dependency>
3.读取doc型文档
1)使用HWPFDocument 读取
import org.apache.poi.hpsf.DocumentSummaryInformation;
import org.apache.poi.hpsf.SummaryInformation;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.hwpf.usermodel.*;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFPictureData;
import org.junit.Test;
import java.io.*;
import java.util.List;
public class WordTest {
@Test
public void testReadByDoc() throws Exception {
InputStream is = new FileInputStream("C:\\Users\\阿劼\\Desktop\\11.doc");
HWPFDocument doc = new HWPFDocument(is);
// 输出文本,这步读取不到????
System.out.println("=========================文本信息==========================");
System.out.println("-------------使用getDocumentText()获