一, 解析PPT文件中的图片
import java.io.File; import java.io.FileOutputStream; import org.apache.poi.hslf.HSLFSlideShow; import org.apache.poi.hslf.model.Picture; import org.apache.poi.hslf.usermodel.PictureData; import org.apache.poi.hslf.usermodel.SlideShow; public class OutputPicture { // 图片默认存放路径 public final static String path = "F:\\ppt\"; public static void main(String[] args) throws Exception { // 加载PPT HSLFSlideShow _hslf = new HSLFSlideShow("F:\\Downloads\\myPPT.ppt"); SlideShow _slideShow = new SlideShow(_hslf); // 获取PPT文件中的图片数据 PictureData[] _pictures = _slideShow.getPictureData(); // 循环读取图片数据 for (int i = 0; i < _pictures.length; i++) { StringBuilder fileName = new StringBuilder(path); PictureData pic_data = _pictures[i]; fileName.append(i); // 设置格式 switch (pic_data.getType()) { case Picture.JPEG: fileName.append(".jpg"); break; case Picture.PNG: fileName.append(".png"); break; default: fileName.append(".data"); } // 输出文件 FileOutputStream fileOut = new FileOutputStream(new File(fileName.toString())); fileOut.write(pic_data.getData()); fileOut.close(); } } }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
二、在PPT文件中加入外部图片
import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import javax.imageio.ImageIO; import org.apache.poi.hslf.model.Picture; import org.apache.poi.hslf.model.Slide;