zoukankan      html  css  js  c++  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);
        }
    }

    替换图片效果图:

     

     

  • 相关阅读:
    使用vscode 用git 拉取代码,提示:在签出前,请清理存储库工作树
    区分手机端和pc端加载不同的样式
    关于vue的代码规范
    各种名词汇总整理
    ZB埋点汇总
    项目实战 OLAP数据提取
    大数据intern_1总结:数据埋点以及SQL复习
    leetcode 343+279+91+64+70 动态规划
    leetcode 241 加优先级括号
    leetcode 17+79+93+46+47+77+39+40+78+90+131+37 回溯法
  • 原文地址:https://www.cnblogs.com/jazz-z/p/13803251.html
Copyright © 2011-2022 走看看