Apache POI XSLF用另一个图像替换图像

时间:2015-03-10 09:23:45

标签: java apache apache-poi

我使用Apache POI作为模板化布局的方法,使用占位符形状替换为我从休息调用中检索的内容。

所有这一切都运行正常,但我找不到用另一张图片替换图片的方法。

我知道可以使用以下代码创建并将其添加到幻灯片中:

int idx = ui.getPpt().addPicture(bytes, XSLFPictureData.PICTURE_TYPE_PNG);
XSLFPictureShape pic = slide.createPicture(idx);

这一切都有效,但我想做的是替换现有的图像,但似乎无法找到一种方法来处理表格和文本对象。

有没有人有任何想法?

1 个答案:

答案 0 :(得分:-1)

首先阅读幻灯片并获取包含图片的形状。 形状将是XSLFPictureShape的实例。 使用以下代码:

for(XSLFShape shape : slide.getShapes()) {

   XSLFPictureShape image = (XSLFPictureShape) shape;
   image.getPictureData().setData(IOUtils.toByteArray(new  FileInputStream("path_to_image"));

}