java读取word 图片_Java 提取Word中的文本和图片
本文将介绍通过java来提取或读取word文档中文本和图片的方法。这里提取文本和图片包括同时提取文档正文当中以及页眉、页脚中的的文本和图片。使用工具:freespire.doc for java (免费版)jar文件导入方法(参考):方法1:方法2:可通过maven导入。参考。测试文档如下:java代码示例(供参考)【示例1】提取word中的文本import com.spire.doc.*;imp
本文将介绍通过java来提取或读取word文档中文本和图片的方法。这里提取文本和图片包括同时提取文档正文当中以及页眉、页脚中的的文本和图片。
使用工具:freespire.doc for java (免费版)
jar文件导入方法(参考):
方法1:

方法2:可通过maven导入。参考。
测试文档如下:

java代码示例(供参考)
【示例1】提取word中的文本
import com.spire.doc.*;
import java.io.filewriter;
import java.io.ioexception;
public class extracttext {
public static void main(string[] args) throws ioexception{
//加载测试文档
document doc = new document();
doc.loadfromfile("test.docx");
//获取文本保存为string
string text = doc.gettext();
//将string写入txt
writestringtotxt(text,"提取文本.txt");
}
public static void writestringtotxt(string content, string txtfilename) throws ioexception {
filewriter fwriter= new filewriter(txtfilename,true);
try {
fwriter.write(content);
}catch(ioexception ex){
ex.printstacktrace();
}finally{
try{
fwriter.flush();
fwriter.close();
} catch (ioexception ex) {
ex.printstacktrace();
}
}
}
}
文本提取结果:

【示例2】提取word中的图片
import com.spire.doc.document;
import com.spire.doc.documents.documentobjecttype;
import com.spire.doc.fields.docpicture;
import com.spire.doc.interfaces.icompositeobject;
import com.spire.doc.interfaces.idocumentobject;
import javax.imageio.imageio;
import java.awt.image.renderedimage;
import java.io.file;
import java.io.ioexception;
import java.util.arraylist;
import java.util.linkedlist;
import java.util.list;
import java.util.queue;
public class extractimg {
public static void main(string[] args) throws ioexception {
//加载word文档
document document = new document();
document.loadfromfile("test.docx");
//创建queue对象
queue nodes = new linkedlist();
nodes.add(document);
//创建list对象
list images = new arraylist();
//遍历文档中的子对象
while (nodes.size() > 0) {
icompositeobject node = (icompositeobject) nodes.poll();
for (int i = 0; i < node.getchildobjects().getcount(); i++) {
idocumentobject child = node.getchildobjects().get(i);
if (child instanceof icompositeobject) {
nodes.add((icompositeobject) child);
//获取图片并添加到list
if (child.getdocumentobjecttype() == documentobjecttype.picture) {
docpicture picture = (docpicture) child;
images.add(picture.getimage());
}
}
}
}
//将图片保存为png格式文件
for (int i = 0; i < images.size(); i++) {
file file = new file(string.format("图片-%d.png", i));
imageio.write((renderedimage) images.get(i), "png", file);
}
}
}
图片提取结果:

(本文完)
转载请注明出处!
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)