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.Dimension;
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.record.Slide;
import org.apache.poi.hslf.usermodel.RichTextRun;
import org.apache.poi.hslf.usermodel.SlideShow;
public class PPTtoImage {
public static void main(String[] args) {
// 读入PPT文件
File file = new File("C:/test.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++) {
System.out.print("第" + 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++){
int index = rtruns[l].getFontIndex();
String name = rtruns[l].getFontName();
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.white);
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
slide[i].draw(graphics);
// 这里设置图片的存放路径和图片的格式(jpeg,png,bmp等等),注意生成文件路径
FileOutputStream out = new FileOutputStream("C:/pict_"+ (i + 1) + ".jpeg");
javax.imageio.ImageIO.write(img, "jpeg", out);
out.close();
}
System.out.println("success!!");
return true;
} catch (FileNotFoundException e) {
System.out.println(e);
// System.out.println("Can't find the image!");
} 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.indexOf("."));
if (suffixname.equals(".ppt")) {
isppt = true;
}
return isppt;
} else {
return isppt;
}
}
}
不知道从那找到的了,呵呵
分享到:
相关推荐
java用poi转ppt为图片和用pdfbox转pdf为图片的demo。里面包含两块具体的demo和多个函数
主要为大家详细介绍了java实现PPT转化为PDF的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
java转换ppt为图片
使用java将office word pdf excel ppt文件转换成html文件
java ppt/pptx转图片所需要的全部jar包 ,2003,2007,的都可以
Entry.java这个类的原理是先通过OfficeToPDF.java把文档转成pdf,然后再通过Pdf2Jpg.java这个类把PDF转成JPG或者PNG,想转成什么格式图片在Pdf2Jpg.java这个类当中设置一下,代码经过测试,完全没有问题,如果碰到...
java实现word,ppt,excel等转换!!自己写的!我把启动软件的命令都写在代码里面,直接运行就可以!文档有我QQ如有不明白加我!帮你搞定!
将PPT转换为swf格式的软件
把jacob.jar加载到工程里...C:\Program Files\Java\jdk1.5.0_04\bin;C:\Program Files\Java\jdk1.5.0_04\jre\bin;下添加jacob.dll文件。 OfficeToXML.java文件是实现代码。 我自己工程用到的代码,现共享出来给大家!
Free Spire.Presentation for Java 是一个专业的PowerPoint API,开发人员可以在Java应用程序中创建、读取、写入、转换和保存PowerPoint...同时,也支持将PowerPoint文档高质量地转换为图片、PDF、PPTX以及SVG等文件。
Free Spire.Presentation for Java 是一个专业的PowerPoint API,它允许开发人员在Java应用程序中创建...同时,Free Spire.Presentation for Java也支持将PowerPoint文档高质量地转换为图片、PDF、PPTX以及SVG等文件。
可将doc、docx、ppt、pptx、odt格式文件转换为pdf。 用法: java -jar doc-converter.jar -type "type" -input "path" -output "path" -verbose java -jar doc-converter.jar -input test.doc java -jar doc-...
这是用java写的代码,把doc,ppt,xls,txt等一些文件转换成pdf格式
java poi 实现ppt转换为png图片信息
java docx转ppt插件 aspose-slides v19
破解Asponse for java,支持excel、ppt、word转换为pdf,无水印,永久有效,本人已亲自测试过,每个例子都是可用的,如用于商业用途,于本人无关
应用Apache POI系统库实现PPT直接转图片的程序,其中的lib目录内的各个Jar包文件为所需要的系统库文件,ConvertPPTFileToImage.java为转换的功能程序类,TestConvertPPTFileToImage.java为测试用的相关程序。
aspose-words、itextpdf完美解决java将word、excel、ppt、图片转换为pdf文件. aspose-words-15.8.0-jdk16.jar aspose-cells-21.8.cracked.jar itext-asian-5.2.0.jar itextpdf-5.4.3.jar
使用java poi 来读ppt文件,转化成为html5 文件,方便网站阅读
ACCP6.0java转换课第二章PPT,绝对真实!