PPT幻灯片页面上,元素多以形状(shape)的概念和单位存在,包括常见的如文本框、表格、图片、图表、图形、艺术字、公式等等。我们可以绘制形状、组合形状、编辑形状,也可复制形状、删除形状,本文主要将对此作相关介绍,通过Java后端代码展示具体如何来实现,以上所列举的元素都以shape作为对象来获取。

程序环境中导入spire.Presentaton.jar,通过其提供的接口、方法等操作。测试文档如下图,包含多种元素,通过获取指定形状,然后复制到指定幻灯片,或者删除。
Java 复制、删除PPT中的形状-LMLPHP

代码操作如下

1. 复制形状

  1. import com.spire.presentation.*;

  2. public class CopyShape1 {
  3.     public static void main(String[] args) throws Exception{
  4.         //加载用于测试的PPT幻灯片文档
  5.         Presentation ppt = new Presentation();
  6.         ppt.loadFromFile("test.pptx");

  7.         //获取形状所在幻灯片(第一张幻灯片)
  8.         ISlide sourceSlide = ppt.getSlides().get(0);
  9.         //新建一张幻灯片
  10.         ISlide targetSlide = ppt.getSlides().get(1);

  11.         //将第一张幻灯片中的第1个形状复制到第二张幻灯片
  12.         targetSlide.getShapes().addShape((Shape) sourceSlide.getShapes().get(0));

  13.         //保存文档
  14.         ppt.saveToFile("CopyShape.pptx", FileFormat.PPTX_2013);
  15.         ppt.dispose();
  16.     }
  17. }


Java 复制、删除PPT中的形状-LMLPHP


2.
删除形状


  1. import com.spire.presentation.*;
  2. public class DeleteShapes {
  3.     public static void main(String[] args) throws Exception {
  4.         //加载PPT
  5.         Presentation ppt = new Presentation();
  6.         ppt.loadFromFile("test.pptx");
  7.         
  8.         //获取幻灯片
  9.         ISlide slide = ppt.getSlides().get(0);
  10.         
  11.         //获取形状,删除
  12.         IShape shape = slide.getShapes().get(5);
  13.         slide.getShapes().remove(shape);
  14.         
  15.         //保存文档
  16.         ppt.saveToFile("RemoveShape.pptx",FileFormat.PPTX_2013);
  17.         ppt.dispose();
  18.     }
  19. }
Java 复制、删除PPT中的形状-LMLPHP


01-25 04:34