我使用 Apache POI 作为一种模板化布局的方式,其中的占位符形状将替换为从 Restful 调用中检索到的内容。
所有这些工作正常,但我找不到用另一个图像替换图像的方法。
我知道可以使用以下代码创建并将其添加到幻灯片中:
int idx = ui.getPpt().addPicture(bytes, XSLFPictureData.PICTURE_TYPE_PNG);
XSLFPictureShape pic = slide.createPicture(idx);
这一切都有效,但我想做的是替换现有图像,但似乎无法找到一种方法来做到这一点,就像我可以使用表格和文本对象一样。
有人有什么想法吗?
最佳答案
首先阅读幻灯片并获取包含图片的形状。
该形状将是 XSLFPictureShape
的实例。
使用以下代码:
for(XSLFShape shape : slide.getShapes()) {
XSLFPictureShape image = (XSLFPictureShape) shape;
image.getPictureData().setData(IOUtils.toByteArray(new FileInputStream("path_to_image"));
}
关于java - Apache POI XSLF 将图像替换为另一个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28960001/