2021-01-21

Java 如何在PPT中设置形状组合、取消组合、编辑组合形状

PPT中支持插入多达9种不同类型的形状,每种类型下又包含数十种形状样式。针对如此多种类型的形状,为页面元素设计需要、方便形状操作管理的目的,可通过形状"组合"的方式来固定多个形状的位置、布局;对已有的组合形状,也可通过"取消组合"来重新定义形状组合样式,或者编辑已有的组合形状,可操作组合形状或者组合形状下的子形状,如设置形状名称、旋转、高、宽、对齐方式,同时,可设置形状排列方式(置于顶/底层、上/下移一层)等等。下面通过Java后端程序代码演示如何来实现以上操作,文章分3个示例demo来展示。

1. 程序所需API

可下载专门用于PowerPoint文档操作的API,Free Spire.Presentation for Java。获取Jar包后,将lib文件夹下的jar文件导入Java程序。(注:本文程序JDK版本为1.8.0)

2. Java代码

  2.1 组合形状

import com.spire.presentation.*;import com.spire.presentation.drawing.FillFormatType;import java.awt.geom.Rectangle2D;import java.util.ArrayList;public class GroupShapes { public static void main(String[] args) throws Exception{  //创建PPT文档  Presentation ppt = new Presentation();  //获取第一张幻灯片  ISlide slide = ppt.getSlides().get(0);  //添加一个缎带形状  IShape ribbon = slide.getShapes().appendShape(ShapeType.RIBBON, new Rectangle2D.Double(250,100,250,40));  ribbon.getFill().setFillType(FillFormatType.SOLID);  ribbon.getFill().getSolidColor().setKnownColor(KnownColors.GOLD);  ribbon.getLine().setWidth(0.1f);  //添加一个心形  IShape heart = slide.getShapes().appendShape(ShapeType.HEART, new Rectangle2D.Double(335, 80, 80, 80));  heart.getFill().setFillType(FillFormatType.SOLID);  heart.getFill().getSolidColor().setKnownColor(KnownColors.RED);  heart.getLine().setWidth(0.1f);  //将两个形状添加到ArrayList数组  ArrayList list = new ArrayList();  list.add(ribbon);  list.add(heart);  //组合数组中的形状  ppt.getSlides().get(0).groupShapes(list);  //保存文档  ppt.saveToFile("GroupShapes.pptx", FileFormat.PPTX_2013);  ppt.dispose(); }}

  2.2 取消形状组合

import com.spire.presentation.*;public class UngroupShape { public static void main(String[] args) throws Exception{  //加载测试文档  Presentation ppt = new Presentation();  ppt.loadFromFile("GroupShapes.pptx");  //获取指定幻灯片中的形状  ISlide slide = ppt.getSlides().get(0);  IShape shape = slide.getShapes().get(0);  //判断是否为组合形状  if(shape instanceof GroupShape)  {   //取消形状组合   slide.ungroup((GroupShape)shape);  }  //保存文档  ppt.saveToFile("UngroupShape.pptx",FileFormat.PPTX_2013);  ppt.dispose(); }}

 

2.3 编辑组合形状,并设置形状排列方式(置于顶/底层,上/下移一层)

以上文示例1中生成的组合形状为测试对象,重命名组合形状并设置形状排列方式为置于顶层。

import com.spire.presentation.*;public class ModifyGroupShape { public static void main(String[] args) throws Exception {  //加载测试文档  Presentation ppt = new Presentation();  ppt.loadFromFile("GroupShapes.pptx");  //获取指定幻灯片中的形状  ISlide slide = ppt.getSlides().get(0);  IShape shape = slide.getShapes().get(0);  //判断是否为组合形状  if(shape instanceof GroupShape)  {   shape.setName("组合形状1");//命名组合形状   IShape objectshape1 = ((GroupShape) shape).getShapes().get(0);   objectshape1.setShapeArrange(ShapeAlignmentEnum.ShapeArrange.BringToFront);//设置子形状1置于顶层   IShape objectshape2 = ((GroupShape) shape).getShapes().get(1);   objectshape2.setName("绸带");//重命名移动后的子形状  }  //保存文档  ppt.saveToFile("ModifyGroupShape.pptx",FileFormat.PPTX_2013);  ppt.dispose(); }}

 

 

延伸阅读推荐:

  • Java 在PPT中添加形状
  • Java 在PPT中添加SmartArt图形
  • Java 读取SmartArt图形中的文本
  • Java 编辑PPT中的SmartArt图形

 

 

(本文完)

 









原文转载:http://www.shaoqun.com/a/512440.html

跨境电商:https://www.ikjzd.com/

法瑞儿:https://www.ikjzd.com/w/412

心怡:https://www.ikjzd.com/w/1327


PPT中支持插入多达9种不同类型的形状,每种类型下又包含数十种形状样式。针对如此多种类型的形状,为页面元素设计需要、方便形状操作管理的目的,可通过形状"组合"的方式来固定多个形状的位置、布局;对已有的组合形状,也可通过"取消组合"来重新定义形状组合样式,或者编辑已有的组合形状,可操作组合形状或者组合形状下的子形状,如设置形状名称、旋转、高、宽、对齐方式,同时,可设置形状排列方式(置于顶/底层、上/
蜜芽宝贝官网:蜜芽宝贝官网
亚马逊全球开店制造:亚马逊全球开店制造
十一桂林步行线路推荐:十一桂林步行线路推荐
香港哪里有玩具店?香港给小孩买玩具去哪好?:香港哪里有玩具店?香港给小孩买玩具去哪好?
云南罗平九龙瀑布好玩吗?:云南罗平九龙瀑布好玩吗?

No comments:

Post a Comment