- 将形状添加到PowerPoint幻灯片
- 将连接器添加到PowerPoint幻灯片中的形状
- 在PowerPoint幻灯片中克隆形状
- 从PowerPoint幻灯片中删除形状
为了使用PowerPoint形状,我们将使用Aspose.Slides。它是一个功能强大的Java API,可让您无缝操作PowerPoint演示文稿。特别是,API使您可以创建,修改,阅读和转换演示文稿文档。
>>你可以点击这里下载Aspose.Slides for java最新版测试体验。
整合所有格式API处理控件Aspose.Total永久授权火热促销中,联系客服立马1分钟了解全部!
PowerPoint形状的类型
PowerPoint支持各种形状,您可以将它们添加到演示文稿幻灯片中。因此,Aspose.Slides for Java支持以下形状类型:
Connector、Ellipse、Flash、Group、Image、Line、Paragraph、Picture、Frame、Portion、Rectangle等。
使用Java将形状添加到PowerPoint幻灯片
Java的Aspose.Slides提供ShapeType类来指定要添加的形状的类型。以下是使用Java在PowerPoint演示文稿中添加特定形状的步骤。
- 首先,创建Presentation类的实例以创建新的或加载现有的PowerPoint演示文稿。
- 将幻灯片的引用获取到ISlide对象中。
- 使用ISlide.getShapes()。addAutoShape(ShapeType.Ellipse,float,float,float,float)方法添加形状。
- 最后,使用Presentation.save(String,SaveFormat.Pptx)方法保存演示文稿。
下面的代码示例演示如何使用Java将形状添加到PowerPoint演示文稿中。
// Instantiate Presentation class that represents the PPTXPresentation pres = new Presentation();// Get the first slideISlide sld = pres.getSlides().get_Item(0);// Add AutoShape of ellipse typesld.getShapes().addAutoShape(ShapeType.Ellipse, 100, 150, 150, 100);// Write the PPTX file to diskpres.save("add_shape.pptx", SaveFormat.Pptx);
以下是执行此代码后将获得的输出。

使用Java在PowerPoint形状之间添加连接器
连接器是用于连接两个形状的线。此外,连接器可以是直线或曲线。以下是在两个PowerPoint形状之间添加连接器的步骤。
- 首先,创建Presentation类的实例以加载演示文稿。
- 使用Presentation.getSlides().get_Item(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中的两个形状之间添加连接器。
// Instantiate Presentation class that represents the PPTX filePresentation input = new Presentation();// Access shapes collection for selected slideIShapeCollection shapes = input.getSlides().get_Item(0).getShapes();// Add Autoshape EllipseIAutoShape ellipse = shapes.addAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);// Add Autoshape RectangleIAutoShape rectangle = shapes.addAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);// Add connector shape to slide shape collectionIConnector connector = shapes.addConnector(ShapeType.BentConnector2, 0, 0, 10, 10);// Join Shapes to connectorsconnector.setStartShapeConnectedTo(ellipse);connector.setEndShapeConnectedTo(rectangle);connector.reroute();// Save Presentationinput.save("connect_shape.pptx", SaveFormat.Pptx);
以下是连接形状后PowerPoint演示文稿的屏幕截图。

使用Java克隆PowerPoint形状
您也可以克隆PowerPoint形状以创建其副本。以下是执行此操作的步骤。
- 首先,创建Presentation类的实例以创建新的或加载现有的PowerPoint演示文稿。
- 将幻灯片的引用获取到ISlide对象中。
- 使用Presentation.getSlides()。get_Item(0).getShapes()方法将形状集合放入IShapeCollection对象。
- 使用IShapeCollection.addClone(sourceShapes [int])方法添加形状的克隆。
- 最后,使用Presentation.save(String,SaveFormat.Pptx)方法保存演示文稿。
下面的代码示例演示如何使用Java添加PowerPoint形状的克隆。
// Instantiate Presentation class that represents the PPTXPresentation pres = new Presentation();// Get the first slideISlide sld = pres.getSlides().get_Item(0);// Add AutoShape of rectangle typeIShape shp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 75, 150);// Rotate the shape to 90 degreeshp.setRotation(90);// Write the PPTX file to diskpres.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形状。
// Load presentationPresentation presentation1 = new Presentation("clone_shape.pptx");// Get slideISlide slide = presentation1.getSlides().get_Item(0);// Shape text to find the shapeString alttext = "User Defined";// Get number of shapesint iCount = slide.getShapes().size();// Loop through shapesfor (int i = 0; i < iCount; i++) { // Get shape IAutoShape ashp = (IAutoShape) slide.getShapes().get_Item(0); if (ashp.getAlternativeText().compareTo(alttext) == 0) { // Remove shape slide.getShapes().remove(ashp); } } presentation1.save("remove_shape.pptx", SaveFormat.Pptx);
如果你想试用Aspose的全部完整功能,可联系在线客服获取30天临时授权体验。
还想要更多吗可以点击阅读【2020 · Aspose最新资源整合】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询。
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!