导航:首页 > 文字图片 > javapoi复制word里的图片

javapoi复制word里的图片

发布时间:2022-11-19 10:17:29

Ⅰ 请问高手怎样用java在word里插入一张图呢

可以用wordapi组件来完成
import com.heavenlake.wordapi.Document;
public class test {
public test() {
Document doc = null;
try {
doc = new Document();
doc.open("e:/test.doc");//打开文件
doc.insert("第一章:嘻嘻哈哈","biaoti");//插入文字
doc.insertAtBookmark("testbookm","第一章:嘻嘻哈哈","标题");
doc.insertAtBookmark("testbookm",
new java.io.File("E:/照片/DSC236.JPG"));//插入图片
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try {
if(doc!=null) doc.close(true);
}
catch (Exception e) {
e.printStackTrace();
}

}

}

public static void main(String[] args) {
test test1 = new test();
}

}

Ⅱ 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文件。

Ⅲ 请教:如何用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();
}

Ⅳ 用java如何添加图片到word中,是直接添加不是解析,最好能有代码

首先你得打开这个word文档,然后你再把这个图片做成文件流的格式,然后把它写进去。
但是这个过程如果你用java自带的文件流格式打开的话,写进去会是乱码。我做过的方法是用开源框架包,poi.jar可以用来做有关office的打开、写入、读出等操作,具体代码没有了,但是demo里面的代码都已经足够了,你自己稍微看看就能知道怎么做了。这个包还是比较稳定的。

Ⅳ 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文档

如何使用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);

Ⅶ poi如何把word文档中的样式及图片读入到java程序中

读取格式 暗流的形式读入

Ⅷ 我想用POI在Word里插入一张图片,这是我的测试代码。执行之后word打不开!错误如图中的提示

publicvoidaddPicture(stringfilepath,stringoldfileName,uintid)

{

System.IO.FileStreamgfs=newSystem.IO.FileStream(filepath,System.IO.FileMode.Open,System.IO.FileAccess.Read);

XWPFParagraphpara=doc.CreateParagraph();

XWPFRunr=para.CreateRun();

XWPFPicturepic=r.AddPicture(gfs,(int)NPOI.XWPF.UserModel.PictureType.JPEG,oldfileName,1000000,1000000);

NPOI.OpenXmlFormats.Dml.WordProcessing.CT_Inlineinline=r.GetCTR().GetDrawingList()[0].inline[0];

inline.docPr.id=id;//默认插入少了这个ID号,它就是图片的序号,从1开始编号的。这个是我折腾了一整天弄才弄好的。

gfs.Close();

}

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

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

Ⅹ 有关Java POI问题:从数据库读取word excel 或者是html文件,如何读取文件内容,创建包含内容的图片文件

你可以把word文件用二进制的方式保存到数据库,再把他读取出来,
WordExtractor extractor = new WordExtractor();
String str = extractor.extractText(in);
这个in 你可以把读取出来的二进制转为ByteArrayInputStream 对象。

阅读全文

与javapoi复制word里的图片相关的资料

热点内容
word怎么变图片 浏览:118
有百合的动漫图片 浏览:516
手绘油画风景图片大全 浏览:291
怎么识别图片上的字 浏览:834
两个人牵手的图片动漫 浏览:136
中秋节简单手抄报图片简单 浏览:644
漂亮女孩胸大图片 浏览:551
怎么关注微信二维码图片 浏览:349
便宜花架图片及价格 浏览:577
可爱早安图片动漫 浏览:327
在批注中如何插入图片 浏览:973
关于植树图片大全简单又漂亮 浏览:328
坐在铅笔上的小女孩图片 浏览:174
胖脸适合的中长发发型图片 浏览:121
霸气男生戴帽眼镜上是钱的图片 浏览:957
好看主题壁纸图片全屏男生 浏览:640
林可霉素图片大全可爱 浏览:159
生活如此简单开心就好图片 浏览:421
希沃白板如何去插入图片文字 浏览:100
个性女图片短发发型图片大全图片大全 浏览:839