导航:首页 > 文字图片 > javapoiword图片

javapoiword图片

发布时间:2023-09-24 16:37:24

❶ java POI html转word,无法显示图片

可以读取元素,将word相应的元素转换为html相应的元素。 不过很多word的特效都是html无法展示的,具体的做法可以参考poi的官方文档,官方文档很详细。

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

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

❸ POI操作word插入相同图片

这么做还是有个小问题,就是连续插入两个图片,不在同一行。

解决方案是给createPicture添加一个参数XWPFParagraph paragraph,换掉方法内部的
调用的时候,插入的两个图片用同一个paragraph,代码如下
XWPFParagraph paragraph = doc.createParagraph();
// 插入第一个图片
doc.createPicture(paragraph, 。。。);
//还可以插入一些文字唯粗
// doc.createRun().setText(" -----> ");
// 插入第二个图片
doc.createPicture(paragraph, 。。。);
--------------- 原因:

word的模型是
整岩山液个是一个document
然后里面有多很多个paragraph,
段落
段落和段落之间按照回车换行分割

每一段内,又可以有多个range
在这个定义的插入显示的图片的类里

一上来就创建了一个段落
只要把两次插入的图片,放到同一个段落
就在一行了。没有回车了。

通过这个方法,把段落从插入图片中提出来,还可以在两个图片之间,加入其它东西,比较文字或空格来定位。

————————————————
版权声明:本文为CSDN博主“kimmking”的原创文章粗物,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/KimmKing/java/article/details/8205439

❹ 请教:如何用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 中用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打不开!错误如图中的提示

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在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 把office word,ppt转化为图片

从一个大神那里学来的,已测试无误
package com;

import java.awt.Dimension;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;

import org.apache.poi.hslf.model.TextRun;
import org.apache.poi.hslf.usermodel.RichTextRun;
import org.apache.poi.hslf.usermodel.SlideShow;

public class ExportPPT {

public static void main(String[] args) {
// 读入PPT文件
File file = new File("D:\\UPH.ppt");
doPPTtoImage(file);
}

public static boolean doPPTtoImage(File file) {
boolean isppt = checkFile(file);
if (!isppt) {
System.out.println("The image you specify don't exit!");
return false;
}
try {
FileInputStream is = new FileInputStream(file);
SlideShow ppt = new SlideShow(is);
is.close();
Dimension pgsize = ppt.getPageSize();
org.apache.poi.hslf.model.Slide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
TextRun[] truns = slide[i].getTextRuns();
for (int k = 0; k < truns.length; k++) {
RichTextRun[] rtruns = truns[k].getRichTextRuns();
for (int l = 0; l < rtruns.length; l++) {
rtruns[l].setFontIndex(1);
rtruns[l].setFontName("宋体");
}
}
BufferedImage img = new BufferedImage(pgsize.width, pgsize.height,
BufferedImage.TYPE_INT_RGB);

Graphics2D graphics = img.createGraphics();
graphics.setPaint(Color.BLUE);
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
slide[i].draw(graphics);

// 这里设置图片的存放路径和图片的格式(jpeg,png,bmp等等),注意生成文件路径
File path = new File("D:/images");
if (!path.exists()) {
path.mkdir();
}
FileOutputStream out = new FileOutputStream(path + "/" + (i + 1)
+ ".jpg");
javax.imageio.ImageIO.write(img, "jpeg", out);
out.close();
}
System.out.println("success!!");
return true;
} catch (FileNotFoundException e) {
System.out.println(e);
} catch (IOException e) {
}
return false;
}

// function 检查文件是否为PPT
public static boolean checkFile(File file) {

boolean isppt = false;
String filename = file.getName();
String suffixname = null;
if (filename != null && filename.indexOf(".") != -1) {
suffixname = filename.substring(filename.lastIndexOf("."));
if (suffixname.equals(".ppt")) {
isppt = true;
}
return isppt;
} else {
return isppt;
}
}

}

阅读全文

与javapoiword图片相关的资料

热点内容
少女动漫唯美图片大全 浏览:97
卡通侧面圆脸图片可爱 浏览:156
茅台窑酒价格及图片 浏览:153
淋雨的女孩儿心更冷图片 浏览:846
红衣美女的脚图片 浏览:762
今日暂停营业文字图片 浏览:715
美丽的女孩图片漫画 浏览:418
10小女孩图片可爱 浏览:778
猫咪委屈的图片可爱高清 浏览:350
成魔动漫图片大全 浏览:511
七夕祝福语图片送给女生 浏览:198
美女美文图片 浏览:378
汪苏泷演唱违背的青春发型图片 浏览:793
32岁农村女孩图片 浏览:254
霸气黑白动漫男生图片 浏览:42
word文档插入图片指定位置 浏览:604
可爱的卡通图片粉色 浏览:578
如何把图片左右两边p成白色 浏览:976
闪光的衣服图片 浏览:687
女生纹身头像图片大全图片 浏览:29