Aspose.Slides - Add SmartArt Nodes and Child Nodes

Adding Smart Art
// Load the desired the presentation
Presentation pres = new Presentation("data/AsposeSmartArt.pptx");

// Traverse through every shape inside first slide
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{

	// Check if shape is of SmartArt type
	if (shape instanceof SmartArt)
	{

		// Typecast shape to SmartArt
		SmartArt smart = (SmartArt) shape;

		// Adding a new SmartArt Node
		SmartArtNode TemNode = (SmartArtNode) smart.getAllNodes().addNode();

		// Adding text
		TemNode.getTextFrame().setText("Test");

		// Adding new child node in parent node. It will be added in the end of collection
		SmartArtNode newNode = (SmartArtNode) TemNode.getChildNodes().addNode();

		// Adding text
		newNode.getTextFrame().setText("New Node Added");
	}
}

// Saving Presentation
pres.save("data/AsposeAddSmartArtNode.pptx", SaveFormat.Pptx);


Adding Smart Art to Specific Location
//Creating a presentation instance                                                                       
Presentation pres1 = new Presentation();
                                                                                                         
//Access the presentation slide                                                                          
ISlide slide = pres1.getSlides().get_Item(0);                                                             
                                                                                                         
//Add Smart Art IShape                                                                                   
ISmartArt smart = slide.getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.StackedList);         
                                                                                                         
//Accessing the SmartArt node at index 0                                                                 
ISmartArtNode node = smart.getAllNodes().get_Item(0);                                                    
                                                                                                         
//Adding new child node at position 2 in parent node                                                     
SmartArtNode chNode = (SmartArtNode)((SmartArtNodeCollection)node.getChildNodes()).addNodeByPosition(2); 
                                                                                                         
//Add Text                                                                                               
chNode.getTextFrame().setText("Sample Text Added");                                                      
                                                                                                         
//Save Presentation                                                                                      
pres1.save("data/AsposeAddSmartArtNodeByPosition.pptx", SaveFormat.Pptx);


Download Source Code

For More Examples, Please Visit Aspose Docs

Last edited Jul 21, 2014 at 4:15 PM by shoaibkhan, version 1