Java 使用Apache POI XSLF在一张幻灯片中的指定位置附加3个图像

Java 使用Apache POI XSLF在一张幻灯片中的指定位置附加3个图像,java,image,apache-poi,powerpoint,xslf,Java,Image,Apache Poi,Powerpoint,Xslf,我需要使用ApachePOI XSLF在一张幻灯片中粘贴3张图片。然而,我只能在幻灯片中添加一张图片。我也找不到任何方法来指定图片的大小和方向 尝试了以下代码 XMLSlideShow ppt = new XMLSlideShow(); XSLFSlide slide = ppt.createSlide(); XSLFGroupShape group1 = slide.createGroup(); byte buf[] = new byte[1024];

我需要使用ApachePOI XSLF在一张幻灯片中粘贴3张图片。然而,我只能在幻灯片中添加一张图片。我也找不到任何方法来指定图片的大小和方向

尝试了以下代码

    XMLSlideShow ppt = new XMLSlideShow();
    XSLFSlide slide = ppt.createSlide();
    XSLFGroupShape group1 = slide.createGroup();
    byte buf[] = new byte[1024];

    for (int i = 1; i <= 2; i++) {
        byte[] pictureData = IOUtils.toByteArray(new FileInputStream(
                "C:\\Users\\Ashok\\Pictures\\" + i + ".png"));
        int elementIndex = ppt.addPicture(pictureData,
                XSLFPictureData.PICTURE_TYPE_PNG);
        XSLFPictureShape picture = slide.createPicture(elementIndex);
        List<XSLFPictureData> allPictures = ppt.getAllPictures();
        System.out.println(allPictures.size());
    }
    FileOutputStream fos = new FileOutputStream("C:\\test2.pptx");
    ppt.write(fos);
    fos.flush();
    fos.close();
xmlsideshow ppt=新的xmlsideshow();
XSLFSlide slide=ppt.createSlide();
XSLFGroupShape group1=slide.createGroup();
字节buf[]=新字节[1024];

对于(inti=1;i你需要为你的图片设置锚定

for (int i = 1; i <= 2; i++) {
    byte[] pictureData = IOUtils.toByteArray(new FileInputStream(
            "C:\\Users\\Ashok\\Pictures\\" + i + ".png"));
    int elementIndex = ppt.addPicture(pictureData,
            XSLFPictureData.PICTURE_TYPE_PNG);
    XSLFPictureShape picture = slide.createPicture(elementIndex);

    // Set picture position and size
    picture.setAnchor(new Rectangle(positionX, positionY, width, height));

    List<XSLFPictureData> allPictures = ppt.getAllPictures();
    System.out.println(allPictures.size());
}
for(int i=1;i