导航:首页 > 文字图片 > Java通过poi获取Word中图片

Java通过poi获取Word中图片

发布时间:2024-01-22 20:54:32

Ⅰ java 中用poi读取word和用docx4j读取word

不知道你是具体读取Word里面的什么元素,下面以读取文字和图片为例吧,两个代码示例,你参考看看:

  1. 读取文本

import com.spire.doc.Document;

import java.io.FileWriter;

import java.io.IOException;

public class ExtractText {

public static void main(String[] args) throws IOException {

//加载Word文档
Document document = new Document();
document.loadFromFile("C:\Users\Administrator\Desktop\sample.docx");

//获取文档中的文本保存为String
String text=document.getText();

//将String写入Txt文件
writeStringToTxt(text,"ExtractedText.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. 读取图片


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.BufferedImage;

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 ExtractImages {

public static void main(String[] args) throws IOException {

//加载Word文档

Document document = new Document();

document.loadFromFile("C:\Users\Administrator\Desktop\sample.docx");

//创建Queue对象

Queue nodes = new LinkedList();

nodes.add(document);

//创建List对象

List images = new ArrayList();

//遍历文档中的子对象

while (nodes.size() > 0) {

ICompositeObject node = 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("output/图片-%d.png", i));

ImageIO.write(images.get(i), "PNG", file);

}

}

}

注意这里使用的jar包是spire.doc.jar,需要在java程序中先导入jar文件。

Ⅱ poi生成word后word里面的图片不变形

你好,你是问poi生成word后如何保证word里面的图片不变形吗?
1、确保生成的图片尽可能地与最终需要插入的Word文档保持相同的比例。可以通过设置图片大小或缩放来实现。
2、在将图片插入到Word文档之前,最好在一个图片编辑软件中打开并进行调整,以便将其完全适配Word页面并按照正确的比例显示。
3、推荐使用POI中提供的setAutoSize(true)方法自动调整页面布局大小,这样可以确保文本和图片都能够均匀分布且没有间隔。
4、在将图片插入到Word文档中时,可以选择“不锁定纵横比”选项搭清,以确保图片在Word文档中不变形。poi是基于OfficeOpenXML标准(OOXML)和Microsoft的OLE2复液扰合文档格式(OLE2)处理各种文件知埋前格式的开源项目。

Ⅲ java 谁有poi读取本地word然后在替换word的内容如table、图片....的demo、然后再将word转成pdf 在线等

对word文档的写操作没做过,但POI是肯定支持的(包括word2003,2007,2010)。已经有最新的POI 3.8了。你可以参考。http://poi.apache.org/index.html

Ⅳ java 如何使用poi 在word 中插入图片和数据,给我一个实现的例子,

实际上还真就得一个一个set进去
我现在做的程序就有这部分机能,思路就是excel→sheet→row
然后遍历所有row,取出所有的cell放到一个存储用结构体中。
无论如何,解析的过程都需要自己来写的。
=======================================================
你的想法我明白,其实就是想要一个java与poi的databinding,定义好的数据模块可以自动和excel的对应列进行匹配。但是这个东西确实就没有啊,人家只封装了读取excel内容,没有提供这样的模块,只有自己写啊。即使是60个列,事实上绑定的逻辑也就只用写一次,而且大部分的内容只要复制粘贴就好了。
如果像下面说的做循环,赋值简单了,可是用的时候就痛苦了,要取某一个字段的时候难道要用数组下标去取?
PS 鄙视5楼的,人家要的是数据导入,拷贝一段倒出的处理来。

怎么使用JAVA,POI读写word文档

如何使用JAVA、POI读写word文档??
能不能将一个word的内容完全读过来,放到一个新生成的word文件中去,要求能将word中的表格、图片等保留,格式不变。最好能给个例子?网上多是很早以前的那个解决方法如下:,只能读文本内容,且新生成的word文件打开时总是要提示选择编码,不太好用,希望能有新的解决方案??!!

poi操作word
1.1 添加poi支持:包下载地址

1.2 POI对Excel文件的读取操作比较方便,POI还提供对Word的DOC格式文件的读取。但在它的发行版本中没有发布对Word支持的模块,需要另外下载一个POI的扩展的Jar包。下载地址为;下载extractors-0.4_zip这个文件

2、提取Doc文件内容

public static String readDoc(String doc) throws Exception {
// 创建输入流读取DOC文件
FileInputStream in = new FileInputStream(new File(doc));
WordExtractor extractor = null;
String text = null;
// 创建WordExtractor
extractor = new WordExtractor();
// 对DOC文件进行提取
text = extractor.extractText(in);
return text;
}

public static void main(String[] args) {
try{
String text = WordReader.readDoc("c:/test.doc");
System.out.println(text);
}catch(Exception e){
e.printStackTrace();
}
}

3、写入Doc文档

import java.io.ByteArrayInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.poifs.filesystem.DirectoryEntry;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class WordWriter {
public static boolean writeDoc(String path, String content) {
boolean w = false;
try {

// byte b[] = content.getBytes("ISO-8859-1");
byte b[] = content.getBytes();

ByteArrayInputStream s = new ByteArrayInputStream(b);

POIFSFileSystem fs = new POIFSFileSystem();
DirectoryEntry directory = fs.getRoot();

DocumentEntry de = directory.createDocument("WordDocument", s);

FileOutputStream ostream = new FileOutputStream(path);

fs.writeFilesystem(ostream);

s.close();
ostream.close();

} catch (IOException e) {
e.printStackTrace();
}
return w;
}
public static void main(String[] args) throws Exception{
String wr=WordReader.readDoc("D:\\test.doc");
boolean b = writeDoc("D:\\result.doc",wr);

Ⅵ 请教:如何用JAVA POI 向Word文档里插图片 请提供下代码 谢谢!!!

楼主你可以这样操作,导入java.io.*。org.apache.poi.hwpf.*。org.apache.poi.hwpf.usermodel.Picture

String savePath= "c:\\temp\\";
String docFile= savePath+ "test.doc";
String imgFile= savePath+ "img.jpg";

HWPFDocument poiDoc = new HWPFDocument(new FileInputStream(docFile));
List picList=poiDoc.getPicturesTable().getAllPictures();
Picture picture=(Picture)picList.get(0);
try {
picture.writeImageContent(new FileOutputStream(imgFile));
} catch (FileNotFoundException e) {
e.printStackTrace();
}

Ⅶ poi读取word 。内容中包含图片,怎么整体读取数据呢!(也就是需要整体当做一条数据插入数据库)

文件当整体那就是字节序列,与文件格式无关,也就是说是word还是exe都是等同的

Ⅷ poi操作word好像只能获取版式为“嵌入型”的图片,而其它版式的图片如何获取比如:"四周型"的。

poi没用过不知道,WORD中“嵌入型”的图片是与文字等同处理的,与前后字符紧密联系,占一行,只是它把一行撑得很高,如果你把行间距设为固定且小于图片高度,则图片显示不全。其他版式均与此不同。

阅读全文

与Java通过poi获取Word中图片相关的资料

热点内容
波浪发卡通女孩图片 浏览:124
简单的老虎简笔画图片大全 浏览:304
如何看掌心纹路图片 浏览:641
动漫介绍人物图片 浏览:915
小学生瓜子头发型男图片 浏览:864
粉色美甲简单大方图片 浏览:398
女孩中短发图片女2021最新款 浏览:79
可爱女小人图片表情包 浏览:645
双星运动鞋价格和图片 浏览:360
历史人物动漫图片 浏览:357
小狐狸简笔画图片可爱 浏览:739
苗族男生带纽扣马甲图片 浏览:637
如果说嗨女生如何高冷回复图片 浏览:987
甲鱼怎么看公母图片 浏览:417
excel如何把图片变成超链接图片 浏览:193
美女漏奶图片 浏览:396
如何将word模板转化为图片 浏览:865
动漫手捧奶茶女孩的图片 浏览:217
女孩难过卡通的图片想哭 浏览:103
动漫服装图片素材 浏览:702