//完整添加图片 public class MyFirstPPTTest { public static void main(String[] args) throws Exception{ /** 文件路径 **/ String filePath = "D://MyPPT.pptx"; String imagePath = "D://a.png"; String imagePath2 = "D://b.png"; String imagePath3 = "D://c.png"; /** 加载PPT **/ XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(filePath)); /** 创建一个slide,理解为PPT里的每一页 **/ XSLFSlide slide = ppt.createSlide(); XSLFSlide slide2 = ppt.createSlide(); XSLFSlide slide3 = ppt.createSlide(); /** 生成二进制数组 **/ byte[] pictureData = IOUtils.toByteArray(new FileInputStream(imagePath)); byte[] pictureData2 = IOUtils.toByteArray(new FileInputStream(imagePath2)); byte[] pictureData3 = IOUtils.toByteArray(new FileInputStream(imagePath3)); /** 添加图片,返回索引 **/ int pictureIndex = ppt.addPicture(pictureData, XSLFPictureData.PICTURE_TYPE_PNG); int pictureIndex2 = ppt.addPicture(pictureData2, XSLFPictureData.PICTURE_TYPE_PNG); int pictureIndex3 = ppt.addPicture(pictureData3, XSLFPictureData.PICTURE_TYPE_PNG); /** 打印信息 **/ System.out.println("pictureIndex " + pictureIndex);// pictureIndex 0 System.out.println("pictureIndex2 " + pictureIndex2);// pictureIndex2 1 System.out.println("pictureIndex3 " + pictureIndex3);// pictureIndex3 2 /** 创建图片 **/ XSLFPictureShape pictureShape = slide.createPicture(pictureIndex); XSLFPictureShape pictureShape2 = slide2.createPicture(pictureIndex2); XSLFPictureShape pictureShape3 = slide3.createPicture(pictureIndex3); /** 设置图片的位置 四个参数分别为 x y width height **/ pictureShape.setAnchor(new java.awt.Rectangle(50, 50, 500, 300)); pictureShape2.setAnchor(new java.awt.Rectangle(50, 150, 500, 300)); pictureShape3.setAnchor(new java.awt.Rectangle(50, 250, 500, 300)); /** 获取图片类别 **/ int pictureType = pictureShape.getPictureData().getPictureType(); switch (pictureType){ case Picture.JPEG: System.out.println("the type of picture is : " + "JPEG"); break; case Picture.PNG: System.out.println("the type of picture is :" + "PNG"); break; } System.out.println(pictureType); /** 输出文件 **/ ppt.write(new FileOutputStream(filePath)); } }