一、项目中需要用到word的导入,word 里面的内容由图片,文本,公式等,步骤为:将文档另存为xml格式
1、提取图片,如下是word xml 中的图片标签,具体分析下内容,首先需要获取
w:drawing->wp:inline->a:graphic->a:graphicData->pic:pic->pic:blipFill->a:blip。
<a:blip r:embed="rId12" cstate="print"/> 中的r:embed 四个编号,这个里面就是临时的图片的标签地址。
<Relationship Id="rId12" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image5.emf"/>
标签中有一个临时地址,media/image5.emf 到这里后,需要分开处理,首先我们要获取Target 先得到图片的类型,比如现在是emf,下图是png 如果是emf 处理比较麻烦,有第三方库进行处理,我这里就不做说明处理了,简单的就是把图片另存,重新插入到word中即可。png比较好处理,返回一个byte数组,写入到图片中即可。
public String getImg(XWPFRun run, Node runNode) throws Exception {
Node drawingNode = getChildNode(runNode, "w:drawing");
if (drawingNode == null) {
return "";
}
Node inlineNode = getChildNode(drawingNode, "wp:inline");
if (inlineNode == null) {
return "";
}
Node graphicNode = getChildNode(inlineNode, "a:graphic");
if (graphicNode == null) {
return "";
}
Node graphicDataNode = getChildNode(graphicNode, "a:graphicData");
if (graphicDataNode == null) {
ret