我使用Apache POI作为模板化布局的方法,使用占位符形状替换为我从休息调用中检索的内容。
所有这一切都运行正常,但我找不到用另一张图片替换图片的方法。
我知道可以使用以下代码创建并将其添加到幻灯片中:
int idx = ui.getPpt().addPicture(bytes, XSLFPictureData.PICTURE_TYPE_PNG);
XSLFPictureShape pic = slide.createPicture(idx);
这一切都有效,但我想做的是替换现有的图像,但似乎无法找到一种方法来处理表格和文本对象。
有没有人有任何想法?
答案 0 :(得分:-1)
首先阅读幻灯片并获取包含图片的形状。
形状将是XSLFPictureShape
的实例。
使用以下代码:
for(XSLFShape shape : slide.getShapes()) {
XSLFPictureShape image = (XSLFPictureShape) shape;
image.getPictureData().setData(IOUtils.toByteArray(new FileInputStream("path_to_image"));
}