PowerPoint 演示文稿中的形狀用於闡述特定點或創建圖表(如流程圖等)。此外,包含形狀使演示文稿更具吸引力。因此,PowerPoint 提供了多種形狀,例如直線、橢圓、矩形等。在本文中,您將學習如何在 PowerPoint 演示文稿中自動操作形狀。特別是,本文將介紹如何使用 Java 在 PowerPoint 演示文稿中添加、連接、克隆或刪除形狀。
- 用於處理 PowerPoint 形狀的 Java API
- PowerPoint 形狀的類型
- 將形狀添加到 PowerPoint 幻燈片
- 向 PowerPoint 幻燈片中的形狀添加連接符
- 在 PowerPoint 幻燈片中克隆形狀
- 從 PowerPoint 幻燈片中刪除形狀
- 獲取免費的 API 許可證
用於處理 PowerPoint 形狀的 Java API
為了使用 PowerPoint 形狀,我們將使用 Aspose.Slides for Java。它是一個功能強大的 Java API,可讓您無縫地操作 PowerPoint 演示文稿。特別是,API 允許您創建、修改、讀取和轉換演示文檔。您可以 下載 API 或使用以下 Maven 配置安裝它。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides</artifactId>
<version>21.3</version>
<classifier>jdk16</classifier>
</dependency>
PowerPoint 形狀的類型
PowerPoint 支持可以添加到演示文稿幻燈片的各種形狀。因此,Aspose.Slides for Java 支持以下形狀類型:
在 Java 中向 PowerPoint 幻燈片添加形狀
Aspose.Slides for Java 提供了 ShapeType 類來指定要添加的形狀類型。以下是使用 Java 在 PowerPoint 演示文稿中添加特定形狀的步驟。
- 首先,創建 Presentation 類的實例以創建新的或加載現有的 PowerPoint 演示文稿。
- 將幻燈片的引用獲取到 ISlide 對像中。
- 使用 ISlide.getShapes().addAutoShape(ShapeType.Ellipse, float, float, float, float) 方法添加形狀。
- 最後,使用 Presentation.save(String, SaveFormat.Pptx) 方法保存演示文稿。
以下代碼示例顯示如何使用 Java 將形狀添加到 PowerPoint 演示文稿。
// 實例化表示 PPTX 的 Presentation 類
Presentation pres = new Presentation();
// 獲取第一張幻燈片
ISlide sld = pres.getSlides().get_Item(0);
// 添加橢圓類型的自選圖形
sld.getShapes().addAutoShape(ShapeType.Ellipse, 100, 150, 150, 100);
// 將 PPTX 文件寫入磁盤
pres.save("add_shape.pptx", SaveFormat.Pptx);
以下是執行此代碼後您將獲得的輸出。
使用 Java 在 PowerPoint 形狀之間添加連接器
連接線是用於連接兩個形狀的線。此外,連接器可以是直線或曲線。以下是在兩個 PowerPoint 形狀之間添加連接符的步驟。
- 首先,創建一個 Presentation 類的實例來加載演示文稿。
- 使用 Presentation.getSlides().getItem(0).getShapes() 方法將形狀集合獲取到 IShapeCollection 對像中。
- 使用 IShapeCollection.addAutoShape(ShapeType.Ellipse, float, float, float, float) 方法添加兩個形狀,並在 IAutoShape 對像中獲取它們的引用。
- 使用 IShapeCollection.addConnector(ShapeType.BentConnector2, float, float, float, float) 方法創建一個連接器,並將其引用到 IConnector 對像中。
- 使用 IConnector.setStartShapeConnectedTo(IAutoShape) 和 IConnector.setEndShapeConnectedTo(IAutoShape) 方法連接形狀。
- 最後,使用 Presentation.save(String, SaveFormat.Pptx) 方法保存演示文稿。
以下代碼示例顯示如何使用 Java 在 PowerPoint 中的兩個形狀之間添加連接器。
// 實例化表示 PPTX 文件的 Presentation 類
Presentation input = new Presentation();
// 訪問所選幻燈片的形狀集合
IShapeCollection shapes = input.getSlides().get_Item(0).getShapes();
// 添加自選形狀橢圓
IAutoShape ellipse = shapes.addAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);
// 添加自選形狀矩形
IAutoShape rectangle = shapes.addAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);
// 將連接器形狀添加到幻燈片形狀集合
IConnector connector = shapes.addConnector(ShapeType.BentConnector2, 0, 0, 10, 10);
// 將形狀連接到連接器
connector.setStartShapeConnectedTo(ellipse);
connector.setEndShapeConnectedTo(rectangle);
connector.reroute();
// 保存演示文稿
input.save("connect_shape.pptx", SaveFormat.Pptx);
以下是連接形狀後的 PowerPoint 演示文稿的屏幕截圖。
使用 Java 克隆 PowerPoint 形狀
您還可以克隆 PowerPoint 形狀來創建其副本。以下是執行此操作的步驟。
- 首先,創建 Presentation 類的實例以創建新的或加載現有的 PowerPoint 演示文稿。
- 將幻燈片的引用獲取到 ISlide 對像中。
- 使用 Presentation.getSlides().getItem(0).getShapes() 方法將形狀集合放入 IShapeCollection 對象。
- 使用 IShapeCollection.addClone(sourceShapes[int]) 方法添加形狀的克隆。
- 最後,使用 Presentation.save(String, SaveFormat.Pptx) 方法保存演示文稿。
以下代碼示例顯示如何使用 Java 添加 PowerPoint 形狀的克隆。
// 實例化表示 PPTX 的 Presentation 類
Presentation pres = new Presentation();
// 獲取第一張幻燈片
ISlide sld = pres.getSlides().get_Item(0);
// 添加矩形類型的自選圖形
IShape shp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 75, 150);
// 將形狀旋轉 90 度
shp.setRotation(90);
// 將 PPTX 文件寫入磁盤
pres.save("clone_shape.pptx", SaveFormat.Pptx);
從 Java 中的 PowerPoint 幻燈片中刪除形狀
您還可以使用 Aspose.Slides for Java 從幻燈片中刪除 PowerPoint 形狀。以下是從形狀集合中刪除 PowerPoint 形狀的步驟。
- 首先,創建一個 Presentation 類的實例來加載 PowerPoint 演示文稿。
- 將所需幻燈片的引用獲取到 ISlide 對像中。
- 使用 ISlide.getShapes().removeAt(int) 方法按索引刪除特定形狀。
- 最後,使用 Presentation.save(String, SaveFormat.Pptx) 方法保存演示文稿。
以下代碼示例顯示如何使用 Java 從幻燈片中刪除 PowerPoint 形狀。
// 負載演示
Presentation presentation1 = new Presentation("clone_shape.pptx");
// 獲取幻燈片
ISlide slide = presentation1.getSlides().get_Item(0);
// 形狀文本以查找形狀
String alttext = "User Defined";
// 獲取形狀數量
int iCount = slide.getShapes().size();
// 遍歷形狀
for (int i = 0; i < iCount; i++) {
// 塑形
IAutoShape ashp = (IAutoShape) slide.getShapes().get_Item(0);
if (ashp.getAlternativeText().compareTo(alttext) == 0) {
// 刪除形狀
slide.getShapes().remove(ashp);
}
}
presentation1.save("remove_shape.pptx", SaveFormat.Pptx);
獲取免費的 API 許可證
您可以獲得免費的臨時許可證,以便在不受評估限制的情況下使用 API。
結論
在本文中,您學習瞭如何使用 Java 在 PowerPoint 演示文稿中處理形狀。特別是,您已經了解瞭如何添加、連接、刪除或克隆 PowerPoint 形狀。此外,您可以通過查閱其 文檔 來探索有關 API 的更多信息。此外,如有任何疑問,請隨時通過我們的 論壇 告訴我們。