java 读取word文档结构_使用POI读取word文档内容

本文介绍了如何在Java中使用Apache POI库来读取Word文档的结构和内容。首先,在pom.xml中添加了必要的依赖,包括poi、poi-ooxml和poi-scratchpad。接着,展示了`PdfService`类的代码,该类包含两个方法:`sendPdf`和`testReadByDoc`。`testReadByDoc`方法根据文件路径判断是docx还是doc文件,然后分别使用HWPFDocument或XWPFDocument进行读取。对于.docx文件,使用XWPFWordExtractor获取文本内容。需要注意的是,docx和doc文件由于内部结构不同,不能直接互相转换,否则会抛出异常。
摘要由CSDN通过智能技术生成

1.pom.xml 中新增

org.apache.poi

poi

4.0.0

org.apache.poi

poi-ooxml

4.0.0

org.apache.poi

poi-scratchpad

4.0.0

org.apache.poi

poi-scratchpad

3.17

2.service

import lombok.extern.slf4j.Slf4j;

import org.apache.poi.hwpf.HWPFDocument;

import org.apache.poi.xwpf.extractor.XWPFWordExtractor;

import org.apache.poi.xwpf.usermodel.XWPFDocument;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.core.io.ClassPathResource;

import org.springframework.stereotype.Service;

import java.io.InputStream;

@Slf4j

@Service

public class PdfService {

public void sendPdf(WorkFlowRequestDTO requestDTO) throws Exception {

testReadByDoc("pdf/aa.docx");

}

public void testReadByDoc(String filePath) throws Exception {

String text = "";

InputStream is = new ClassPathResource((filePath)).getInputStream();

if (filePath.endsWith("docx")) {

HWPFDocument doc = new HWPFDocument(is);

//输出书签信息

//输出文本

System.out.println(doc.getDocumentText());

XWPFDocument doc1= new XWPFDocument(is);

XWPFWordExtractor extractor = new XWPFWordExtractor(doc1);

text = extractor.getText();

extractor.close();

is.close();

}

}

}

3.注意

docx 和doc不能互转 会抛异常(内部的结构不一样)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值