导航:首页 > 文字图片 > poiword导出图片

poiword导出图片

发布时间:2023-08-04 04:40:48

怎么使用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 把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;
}
}

}

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

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

Ⅳ poi读取word文档,如何获取图片的位置

程序中打印出的i就是图片的索引位置
if(pTable.hasPicture(cr)){

//获取图片路径
picpath=this.readPicture(pTable, cr);
System.out.println("索引"+i);
currentChar=cr.text().charAt(0);
tempString+=picpath+"<br/>";

}else {

Ⅳ POI可否实现导出带有图片的word文件

poi jacob不太好用,楼主可以用PageOffice解决这个问题。 生成文件的时候替换模板标签数据,插入图片或合并多个word文档都可以实现的。

Ⅵ 有什么方法可以用java 将word或者Excel文件转换成图片文件

可以用openoffice将word转化为pdf,再使用swftools把pdf转换为swf

Ⅶ 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.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();
}

阅读全文

与poiword导出图片相关的资料

热点内容
word图片在表格里面怎么放在下面 浏览:455
董洁穿衣搭配图片大全 浏览:222
润玉月上重火红衣服图片 浏览:554
男生正常的精子图片 浏览:72
图片的文字怎么复制 浏览:79
牙根高清图片 浏览:528
血色玫瑰动漫图片 浏览:115
淘宝男生图片大全 浏览:21
word中如何使图片浮于文字表面 浏览:745
图片放大后如何换底色 浏览:95
柳岩可爱图片 浏览:203
房间画图片大全 浏览:778
动漫接吻图片高清 浏览:116
小米手表看图片如何设置滚轮放大 浏览:331
秀气男生发型图片 浏览:62
衣服扣子简笔画图片 浏览:593
盛昊730价格及图片 浏览:997
美女跳拉丁舞图片 浏览:896
给男生送什么花合适图片 浏览:500
恶搞美女光屁股动态图片 浏览:839