poi操作word文档,以07版本为参考,将word文档中图片替换为文本(替换文本也一样),读图片可选文字内容

本文介绍如何利用Apache POI库操作Word 2007以后的.docx文档,通过查找并替换w:drawing节点为w:t节点,实现图片到文本的转换。在document.xml中,图片信息以w:drawing节点存在,而文本内容隐藏在w:t节点下的#:text节点中。代码示例展示了详细的操作流程,包括获取w:t节点、替换图片为文本节点以及提取图片的可选文字内容。
摘要由CSDN通过智能技术生成


1、先简单介绍下word07版本以后的存储格式,word 07版本以后主要是以xml格式存储。如果想查看详情可将后缀名改为zip,再查看压缩文件可查看到各种文件,其中document.xml就是word主要展现给我们大家所看到的内容。

2.根据第一步的描述,我查看了document.xml,如果有图片,xml文件里会有w:drawing节点。解题思路就从这里来,把这个节点去掉,再替换成为一个文本节点。

3.查看document.xml时我们会发现每个文本内容都是在w:t节点下的,但文本内容并不是w:t节点下的值,而是w:t节点下还隐藏了一个#:text节点,文本内容是装在#:text节点下的,#:text节点在document.xml并查看不到,就是这花了我比较多的时间。

详细代码:

XWPFDocument document// docx word文档的document

Node node = document.getDocument().getDomNode();//得到文档跟节点,这里的节点大概跟document.xml看到的是一致的
Node wcNode = Poi4WordUtil.getWtNode(node);//获取文档的一个w:t节点供后续拷贝

this.setNodeData(node, wcNode, ssId, instId, dataDate);


/**
* 把图片节点换成文本节点

* @param node

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值