ppt转换成图片的问题 请教一个问题:将PPT转换成图片的时候,图片的确出来了,但是图片的内容有部分确实,这个问题谁知道,代码贴上。如果各位有其他的ppt转换成图片的方法,也可以告诉我。我是在网上抄录的一段代码,使用的是apach的poi。代码贴上,各位看看有什么问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.awt.Color;import java.awt.Dimension;import java.awt.Graphics2D;import java.awt.geom.Rectangle2D;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import org.apache.poi.hslf.HSLFSlideShow;import org.apache.poi.hslf.model.TextRun;import org.apache.poi.hslf.usermodel.RichTextRun;import org.apache.poi.hslf.usermodel.SlideShow;public class TestPpt { public static void main(String[] args) { // 读入PPT文件 File file = new File("d:/cc/ss_20120719.ppt"); doPPTtoImage(file); } public static boolean doPPTtoImage(File file) { boolean isppt = checkFile(file); if (!isppt) { System.out.println("你指定的文件不是ppt文档!"); return false; } try { HSLFSlideShow hslfSlideShow = new HSLFSlideShow("d:/cc/ss_20120719.ppt"); SlideShow ppt = new SlideShow(hslfSlideShow); Dimension pgsize = ppt.getPageSize(); org.apache.poi.hslf.model.Slide[] slide = ppt.getSlides(); for (int i = 0; i < slide.length; i++) { if (slide[i].getNotesSheet() != null && slide[i].getNotesSheet().getTextRuns() != null) { // 获取第一个备注 System.out.println("备注:" + slide[i].getNotesSheet().getTextRuns()[0] .getText()); } 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].setFontName("MS Pゴシック"); // 获取文本列表 System.out.println(rtruns[l].getText()); } } BufferedImage img = new BufferedImage(pgsize.width, pgsize.height, BufferedImage.TYPE_INT_RGB); Graphics2D graphics = img.createGraphics(); graphics.setPaint(Color.white); graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height)); slide[i].draw(graphics); // 这里设置图片的存放路径和图片的格式(jpeg,png,bmp等等),注意生成文件路径 FileOutputStream out = new FileOutputStream("d:/cc/pict_" + (i + 1) + ".bmp"); javax.imageio.ImageIO.write(img, "bmp", out); out.close(); } System.out.println("ok"); return true; } catch (FileNotFoundException e) { System.out.println(e); } catch (IOException e) { e.printStackTrace(); } 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.indexOf(".")); if (suffixname.equals(".ppt")) { isppt = true; } return isppt; } else { return isppt; } }} 关于spring3 mvc 属性注入问题 正则表达式 问题请教高手 网站与b/s 应用系统有何区别? 如何在WINDOWS下的TOMCAT配置虚拟主机 JAVA如何分析XML文件,听说jdom.jar可以,不知道哪位可以给我讲讲该怎么做! tomcat跑起来,点的快了tomcat就会没有响应,我晕死了 请高手进来看看!!!! 大家块帮忙吧,急死俺了, struts2标签问题 Hibernate事务无法回滚!!!! fuck fuck myeclips中自带的jstl这个包怎么使用
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.model.TextRun;
import org.apache.poi.hslf.usermodel.RichTextRun;
import org.apache.poi.hslf.usermodel.SlideShow;public class TestPpt {
public static void main(String[] args) {
// 读入PPT文件
File file = new File("d:/cc/ss_20120719.ppt");
doPPTtoImage(file);
} public static boolean doPPTtoImage(File file) {
boolean isppt = checkFile(file);
if (!isppt) {
System.out.println("你指定的文件不是ppt文档!");
return false;
}
try { HSLFSlideShow hslfSlideShow = new HSLFSlideShow("d:/cc/ss_20120719.ppt");
SlideShow ppt = new SlideShow(hslfSlideShow);
Dimension pgsize = ppt.getPageSize();
org.apache.poi.hslf.model.Slide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
if (slide[i].getNotesSheet() != null
&& slide[i].getNotesSheet().getTextRuns() != null) {
// 获取第一个备注
System.out.println("备注:"
+ slide[i].getNotesSheet().getTextRuns()[0]
.getText());
}
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].setFontName("MS Pゴシック");
// 获取文本列表
System.out.println(rtruns[l].getText());
}
}
BufferedImage img = new BufferedImage(pgsize.width,
pgsize.height, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = img.createGraphics();
graphics.setPaint(Color.white);
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width,
pgsize.height));
slide[i].draw(graphics);
// 这里设置图片的存放路径和图片的格式(jpeg,png,bmp等等),注意生成文件路径
FileOutputStream out = new FileOutputStream("d:/cc/pict_"
+ (i + 1) + ".bmp");
javax.imageio.ImageIO.write(img, "bmp", out);
out.close();
}
System.out.println("ok");
return true;
} catch (FileNotFoundException e) {
System.out.println(e);
} catch (IOException e) {
e.printStackTrace();
}
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.indexOf("."));
if (suffixname.equals(".ppt")) {
isppt = true;
}
return isppt;
} else {
return isppt;
}
}
}