在 Java 中处理 PowerPoint 形状

PowerPoint 演示文稿中的形状用于详细说明特定点或创建图表(例如流程图等)。此外,包含形状使演示文稿更具吸引力。因此,PowerPoint 提供了多种形状,如直线、椭圆、矩形等。在本文中,您将学习如何在 PowerPoint 演示文稿中自动处理形状。特别是,本文将介绍如何使用 Java 在 PowerPoint 演示文稿中添加、连接、克隆或删除形状。

用于处理 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 演示文稿中添加特定形状的步骤。

以下代码示例演示如何使用 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 形状

使用 Java 在 PowerPoint 形状之间添加连接器

连接器是用于连接两个形状的线。此外,连接器可以是直线或曲线。以下是在两个 PowerPoint 形状之间添加连接器的步骤。

以下代码示例演示如何使用 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 形状

使用 Java 克隆 PowerPoint 形状

您还可以克隆 PowerPoint 形状以创建其副本。以下是执行此操作的步骤。

以下代码示例展示了如何使用 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 形状的步骤。

以下代码示例演示如何使用 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 的更多信息。此外,如有任何疑问,请随时通过我们的 论坛 告诉我们。

也可以看看