A SmartArt graphic is a visual representation of information and ideas, it can turn ordinary text into the predefined graphic, which makes the text information easier to understand. This article will show you how to create a SmartArt in PowerPoint and custom its layout by using Free Spire.Presentation for Java.
Installation
Method 1: Download the Free Spire.Presentation for Java and unzip it. Then add the Spire.Presentation.jar file to your project as dependency.
Method 2: You can also add the jar dependency to your maven project by adding the following configurations to the pom.xml.
<span><</span><span>repositories</span><span>></span><span><</span><span>repository</span><span>></span><span><</span><span>id</span><span>></span><span>com</span><span>.</span><span>e</span><span>-</span><span>iceblue</span><span></</span><span>id</span><span>></span><span><</span><span>name</span><span>></span><span>e</span><span>-</span><span>iceblue</span><span></</span><span>name</span><span>></span><span><</span><span>url</span><span>></span><span>http:</span><span>//repo.e-iceblue.com/nexus/content/groups/public/</url></span><span></</span><span>repository</span><span>></span><span></</span><span>repositories</span><span>></span><span><</span><span>dependencies</span><span>></span><span><</span><span>dependency</span><span>></span><span><</span><span>groupId</span><span>></span><span>e</span><span>-</span><span>iceblue</span><span></</span><span>groupId</span><span>></span><span><</span><span>artifactId</span><span>></span><span>spire</span><span>.</span><span>presentation</span><span>.</span><span>free</span><span></</span><span>artifactId</span><span>></span><span><</span><span>version</span><span>></span><span>2.6</span><span>.</span><span>1</span><span></</span><span>version</span><span>></span><span></</span><span>dependency</span><span>></span><span></</span><span>dependencies</span><span>></span><span><</span><span>repositories</span><span>></span> <span><</span><span>repository</span><span>></span> <span><</span><span>id</span><span>></span><span>com</span><span>.</span><span>e</span><span>-</span><span>iceblue</span><span></</span><span>id</span><span>></span> <span><</span><span>name</span><span>></span><span>e</span><span>-</span><span>iceblue</span><span></</span><span>name</span><span>></span> <span><</span><span>url</span><span>></span><span>http:</span><span>//repo.e-iceblue.com/nexus/content/groups/public/</url></span> <span></</span><span>repository</span><span>></span> <span></</span><span>repositories</span><span>></span> <span><</span><span>dependencies</span><span>></span> <span><</span><span>dependency</span><span>></span> <span><</span><span>groupId</span><span>></span><span>e</span><span>-</span><span>iceblue</span><span></</span><span>groupId</span><span>></span> <span><</span><span>artifactId</span><span>></span><span>spire</span><span>.</span><span>presentation</span><span>.</span><span>free</span><span></</span><span>artifactId</span><span>></span> <span><</span><span>version</span><span>></span><span>2.6</span><span>.</span><span>1</span><span></</span><span>version</span><span>></span> <span></</span><span>dependency</span><span>></span> <span></</span><span>dependencies</span><span>></span><repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.presentation.free</artifactId> <version>2.6.1</version> </dependency> </dependencies>
Enter fullscreen mode Exit fullscreen mode
Creating SmartArt Graphic:
<span>import</span> <span>com.spire.presentation.FileFormat</span><span>;</span><span>import</span> <span>com.spire.presentation.ISlide</span><span>;</span><span>import</span> <span>com.spire.presentation.Presentation</span><span>;</span><span>import</span> <span>com.spire.presentation.diagrams.*</span><span>;</span><span>public</span> <span>class</span> <span>AddSmartArt</span> <span>{</span><span>public</span> <span>static</span> <span>void</span> <span>main</span><span>(</span><span>String</span><span>[]</span> <span>args</span><span>)</span> <span>throws</span> <span>Exception</span> <span>{</span><span>//Create a PowerPoint document</span><span>Presentation</span> <span>presentation</span> <span>=</span> <span>new</span> <span>Presentation</span><span>();</span><span>//Get the first slide</span><span>ISlide</span> <span>slide</span> <span>=</span> <span>presentation</span><span>.</span><span>getSlides</span><span>().</span><span>get</span><span>(</span><span>0</span><span>);</span><span>//Insert an Organization Chart into the slide</span><span>ISmartArt</span> <span>smartArt</span> <span>=</span> <span>slide</span><span>.</span><span>getShapes</span><span>().</span><span>appendSmartArt</span><span>(</span><span>60</span><span>,</span> <span>60</span><span>,</span> <span>500</span><span>,</span> <span>400</span><span>,</span> <span>SmartArtLayoutType</span><span>.</span><span>ORGANIZATION_CHART</span><span>);</span><span>//Set the color of the smartart</span><span>smartArt</span><span>.</span><span>setStyle</span><span>(</span><span>SmartArtStyleType</span><span>.</span><span>MODERATE_EFFECT</span><span>);</span><span>smartArt</span><span>.</span><span>setColorStyle</span><span>(</span><span>SmartArtColorType</span><span>.</span><span>GRADIENT_RANGE_ACCENT_1</span><span>);</span><span>//Remove all default nodes</span><span>for</span> <span>(</span><span>Object</span> <span>a</span> <span>:</span> <span>smartArt</span><span>.</span><span>getNodes</span><span>())</span> <span>{</span><span>smartArt</span><span>.</span><span>getNodes</span><span>().</span><span>removeNode</span><span>(</span><span>0</span><span>);</span><span>}</span><span>//Add a parent node</span><span>ISmartArtNode</span> <span>node1</span> <span>=</span> <span>smartArt</span><span>.</span><span>getNodes</span><span>().</span><span>addNode</span><span>();</span><span>//Add 4 child nodes</span><span>ISmartArtNode</span> <span>node1_1</span> <span>=</span> <span>node1</span><span>.</span><span>getChildNodes</span><span>().</span><span>addNode</span><span>();</span><span>ISmartArtNode</span> <span>node1_2</span> <span>=</span> <span>node1</span><span>.</span><span>getChildNodes</span><span>().</span><span>addNode</span><span>();</span><span>ISmartArtNode</span> <span>node1_3</span> <span>=</span> <span>node1</span><span>.</span><span>getChildNodes</span><span>().</span><span>addNode</span><span>();</span><span>ISmartArtNode</span> <span>node1_4</span> <span>=</span> <span>node1</span><span>.</span><span>getChildNodes</span><span>().</span><span>addNode</span><span>();</span><span>//Add text to each node and set the font size</span><span>node1</span><span>.</span><span>getTextFrame</span><span>().</span><span>setText</span><span>(</span><span>"General Manager"</span><span>);</span><span>node1</span><span>.</span><span>getTextFrame</span><span>().</span><span>getTextRange</span><span>().</span><span>setFontHeight</span><span>(</span><span>14</span><span>f</span><span>);</span><span>node1_1</span><span>.</span><span>getTextFrame</span><span>().</span><span>setText</span><span>(</span><span>"Marketing Manager"</span><span>);</span><span>node1_1</span><span>.</span><span>getTextFrame</span><span>().</span><span>getTextRange</span><span>().</span><span>setFontHeight</span><span>(</span><span>12</span><span>f</span><span>);</span><span>node1_2</span><span>.</span><span>getTextFrame</span><span>().</span><span>setText</span><span>(</span><span>"Operation Manager"</span><span>);</span><span>node1_2</span><span>.</span><span>getTextFrame</span><span>().</span><span>getTextRange</span><span>().</span><span>setFontHeight</span><span>(</span><span>12</span><span>f</span><span>);</span><span>node1_3</span><span>.</span><span>getTextFrame</span><span>().</span><span>setText</span><span>(</span><span>"Human Resource Manager"</span><span>);</span><span>node1_3</span><span>.</span><span>getTextFrame</span><span>().</span><span>getTextRange</span><span>().</span><span>setFontHeight</span><span>(</span><span>12</span><span>f</span><span>);</span><span>node1_4</span><span>.</span><span>getTextFrame</span><span>().</span><span>setText</span><span>(</span><span>"Account Manager"</span><span>);</span><span>node1_4</span><span>.</span><span>getTextFrame</span><span>().</span><span>getTextRange</span><span>().</span><span>setFontHeight</span><span>(</span><span>12</span><span>f</span><span>);</span><span>//Save the document</span><span>presentation</span><span>.</span><span>saveToFile</span><span>(</span><span>"SmartArt.pptx"</span><span>,</span> <span>FileFormat</span><span>.</span><span>PPTX_2010</span><span>);</span><span>presentation</span><span>.</span><span>dispose</span><span>();</span><span>}</span><span>}</span><span>import</span> <span>com.spire.presentation.FileFormat</span><span>;</span> <span>import</span> <span>com.spire.presentation.ISlide</span><span>;</span> <span>import</span> <span>com.spire.presentation.Presentation</span><span>;</span> <span>import</span> <span>com.spire.presentation.diagrams.*</span><span>;</span> <span>public</span> <span>class</span> <span>AddSmartArt</span> <span>{</span> <span>public</span> <span>static</span> <span>void</span> <span>main</span><span>(</span><span>String</span><span>[]</span> <span>args</span><span>)</span> <span>throws</span> <span>Exception</span> <span>{</span> <span>//Create a PowerPoint document</span> <span>Presentation</span> <span>presentation</span> <span>=</span> <span>new</span> <span>Presentation</span><span>();</span> <span>//Get the first slide</span> <span>ISlide</span> <span>slide</span> <span>=</span> <span>presentation</span><span>.</span><span>getSlides</span><span>().</span><span>get</span><span>(</span><span>0</span><span>);</span> <span>//Insert an Organization Chart into the slide</span> <span>ISmartArt</span> <span>smartArt</span> <span>=</span> <span>slide</span><span>.</span><span>getShapes</span><span>().</span><span>appendSmartArt</span><span>(</span><span>60</span><span>,</span> <span>60</span><span>,</span> <span>500</span><span>,</span> <span>400</span><span>,</span> <span>SmartArtLayoutType</span><span>.</span><span>ORGANIZATION_CHART</span><span>);</span> <span>//Set the color of the smartart</span> <span>smartArt</span><span>.</span><span>setStyle</span><span>(</span><span>SmartArtStyleType</span><span>.</span><span>MODERATE_EFFECT</span><span>);</span> <span>smartArt</span><span>.</span><span>setColorStyle</span><span>(</span><span>SmartArtColorType</span><span>.</span><span>GRADIENT_RANGE_ACCENT_1</span><span>);</span> <span>//Remove all default nodes</span> <span>for</span> <span>(</span><span>Object</span> <span>a</span> <span>:</span> <span>smartArt</span><span>.</span><span>getNodes</span><span>())</span> <span>{</span> <span>smartArt</span><span>.</span><span>getNodes</span><span>().</span><span>removeNode</span><span>(</span><span>0</span><span>);</span> <span>}</span> <span>//Add a parent node</span> <span>ISmartArtNode</span> <span>node1</span> <span>=</span> <span>smartArt</span><span>.</span><span>getNodes</span><span>().</span><span>addNode</span><span>();</span> <span>//Add 4 child nodes</span> <span>ISmartArtNode</span> <span>node1_1</span> <span>=</span> <span>node1</span><span>.</span><span>getChildNodes</span><span>().</span><span>addNode</span><span>();</span> <span>ISmartArtNode</span> <span>node1_2</span> <span>=</span> <span>node1</span><span>.</span><span>getChildNodes</span><span>().</span><span>addNode</span><span>();</span> <span>ISmartArtNode</span> <span>node1_3</span> <span>=</span> <span>node1</span><span>.</span><span>getChildNodes</span><span>().</span><span>addNode</span><span>();</span> <span>ISmartArtNode</span> <span>node1_4</span> <span>=</span> <span>node1</span><span>.</span><span>getChildNodes</span><span>().</span><span>addNode</span><span>();</span> <span>//Add text to each node and set the font size</span> <span>node1</span><span>.</span><span>getTextFrame</span><span>().</span><span>setText</span><span>(</span><span>"General Manager"</span><span>);</span> <span>node1</span><span>.</span><span>getTextFrame</span><span>().</span><span>getTextRange</span><span>().</span><span>setFontHeight</span><span>(</span><span>14</span><span>f</span><span>);</span> <span>node1_1</span><span>.</span><span>getTextFrame</span><span>().</span><span>setText</span><span>(</span><span>"Marketing Manager"</span><span>);</span> <span>node1_1</span><span>.</span><span>getTextFrame</span><span>().</span><span>getTextRange</span><span>().</span><span>setFontHeight</span><span>(</span><span>12</span><span>f</span><span>);</span> <span>node1_2</span><span>.</span><span>getTextFrame</span><span>().</span><span>setText</span><span>(</span><span>"Operation Manager"</span><span>);</span> <span>node1_2</span><span>.</span><span>getTextFrame</span><span>().</span><span>getTextRange</span><span>().</span><span>setFontHeight</span><span>(</span><span>12</span><span>f</span><span>);</span> <span>node1_3</span><span>.</span><span>getTextFrame</span><span>().</span><span>setText</span><span>(</span><span>"Human Resource Manager"</span><span>);</span> <span>node1_3</span><span>.</span><span>getTextFrame</span><span>().</span><span>getTextRange</span><span>().</span><span>setFontHeight</span><span>(</span><span>12</span><span>f</span><span>);</span> <span>node1_4</span><span>.</span><span>getTextFrame</span><span>().</span><span>setText</span><span>(</span><span>"Account Manager"</span><span>);</span> <span>node1_4</span><span>.</span><span>getTextFrame</span><span>().</span><span>getTextRange</span><span>().</span><span>setFontHeight</span><span>(</span><span>12</span><span>f</span><span>);</span> <span>//Save the document</span> <span>presentation</span><span>.</span><span>saveToFile</span><span>(</span><span>"SmartArt.pptx"</span><span>,</span> <span>FileFormat</span><span>.</span><span>PPTX_2010</span><span>);</span> <span>presentation</span><span>.</span><span>dispose</span><span>();</span> <span>}</span> <span>}</span>import com.spire.presentation.FileFormat; import com.spire.presentation.ISlide; import com.spire.presentation.Presentation; import com.spire.presentation.diagrams.*; public class AddSmartArt { public static void main(String[] args) throws Exception { //Create a PowerPoint document Presentation presentation = new Presentation(); //Get the first slide ISlide slide = presentation.getSlides().get(0); //Insert an Organization Chart into the slide ISmartArt smartArt = slide.getShapes().appendSmartArt(60, 60, 500, 400, SmartArtLayoutType.ORGANIZATION_CHART); //Set the color of the smartart smartArt.setStyle(SmartArtStyleType.MODERATE_EFFECT); smartArt.setColorStyle(SmartArtColorType.GRADIENT_RANGE_ACCENT_1); //Remove all default nodes for (Object a : smartArt.getNodes()) { smartArt.getNodes().removeNode(0); } //Add a parent node ISmartArtNode node1 = smartArt.getNodes().addNode(); //Add 4 child nodes ISmartArtNode node1_1 = node1.getChildNodes().addNode(); ISmartArtNode node1_2 = node1.getChildNodes().addNode(); ISmartArtNode node1_3 = node1.getChildNodes().addNode(); ISmartArtNode node1_4 = node1.getChildNodes().addNode(); //Add text to each node and set the font size node1.getTextFrame().setText("General Manager"); node1.getTextFrame().getTextRange().setFontHeight(14f); node1_1.getTextFrame().setText("Marketing Manager"); node1_1.getTextFrame().getTextRange().setFontHeight(12f); node1_2.getTextFrame().setText("Operation Manager"); node1_2.getTextFrame().getTextRange().setFontHeight(12f); node1_3.getTextFrame().setText("Human Resource Manager"); node1_3.getTextFrame().getTextRange().setFontHeight(12f); node1_4.getTextFrame().setText("Account Manager"); node1_4.getTextFrame().getTextRange().setFontHeight(12f); //Save the document presentation.saveToFile("SmartArt.pptx", FileFormat.PPTX_2010); presentation.dispose(); } }
Enter fullscreen mode Exit fullscreen mode
暂无评论内容