首页 > 应用开发 > Java > Java 替换 PPT 中的图片
当我们在编辑完一份PPT演示文档后,可能会遇到需要替换图片的情况,此时我们可以借助Free Spire.Presentation for Java来完成这个操作。本文就将展示如何在Java程序中获取指定PowerPoint幻灯片中的图片形状,并用新图片进行填充。
JAR包导入
方法一:下载 Free Spire.Presentation for Java包并解压缩,然后将lib文件夹下的jar包作为依赖项直接导入到Java应用程序中。
方法二:通过Maven仓库安装jar包,配置pom.xml文件的代码如下:
<repositories> <repository> <id>com.e-iceblue</id> <url>http://repo.e-iceblue.cn/repository/maven-public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.presentation.free</artifactId> <version>3.9.0</version> </dependency> </dependencies>
原PPT文档如下:

替换图片:
import com.spire.presentation.*;
import com.spire.presentation.drawing.IImageData;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.FileInputStream;
public class ReplaceImage {
public static void main(String[] args) throws Exception {
//创建Presentation对象
Presentation presentation= new Presentation();
//加载PowerPoint示例文档
presentation.loadFromFile("Presentation1.pptx");
//添加图片到图片集合
String imagePath = "C:\\Users\\Administrator\\Desktop\\img.jpg";
BufferedImage bufferedImage = ImageIO.read(new FileInputStream(imagePath));
IImageData image = presentation.getImages().append(bufferedImage);
//获取第一张幻灯片上形状集合
ShapeCollection shapes = presentation.getSlides().get(0).getShapes();
//遍历所有形状
for (int i = 0; i < shapes.getCount(); i++) {
//判断形状是否是图片
if (shapes.get(i) instanceof SlidePicture) {
//将图片形状用新图片填充
((SlidePicture) shapes.get(i)).getPictureFill().getPicture().setEmbedImage(image);
}
}
//保存文档
presentation.saveToFile("ReplaceImage.pptx", FileFormat.PPTX_2013);
}
}
替换图片效果图:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69968349/viewspace-2730864/ ,如需转载,请注明出处,否则将追究法律责任。