1. 程式人生 > 實用技巧 >Java 如何在PPT中設定形狀組合、取消組合、編輯組合形狀

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();
    }
}

延伸閱讀推薦:

(本文完)