smartart是powerpoint中的一项非常有用的功能,它允许您将文本数据转换为预定义的图形。本文演示了如何使用spire.presentation for java在幻灯片中创建smartart并自定义布局。
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 {
//创建powerpoint文档
presentation presentation = new presentation();
//获取第一张幻灯片
islide slide = presentation.getslides().get(0);
//创建射线循环图'radial cycle'到幻灯片
ismartart smartart = slide.getshapes().appendsmartart(60, 60, 200, 200, smartartlayouttype.radial_cycle);
//设置smartart的样式
smartart.setstyle(smartartstyletype.moderate_effect);
//设置smartart的颜色
smartart.setcolorstyle(smartartcolortype.dark_2_outline);
//删除默认的节点(smartart中的图形)
for (object a : smartart.getnodes()) {
smartart.getnodes().removenode(0);
}
//添加一个母节点
ismartartnode node1 = smartart.getnodes().addnode();
//在母节点下添加三个子节点
ismartartnode node1_1 = node1.getchildnodes().addnode();
ismartartnode node1_2 = node1.getchildnodes().addnode();
ismartartnode node1_3 = node1.getchildnodes().addnode();
//在节点上设置文字及文字大小
node1.gettextframe().settext("设备");
node1.gettextframe().gettextrange().setfontheight(14f);
node1_1.gettextframe().settext("机械");
node1_1.gettextframe().gettextrange().setfontheight(12f);
node1_2.gettextframe().settext("电气");
node1_2.gettextframe().gettextrange().setfontheight(12f);
node1_3.gettextframe().settext("自动化");
node1_3.gettextframe().gettextrange().setfontheight(12f);
//保存文档
presentation.savetofile("smartart.pptx", fileformat.pptx_2010);
presentation.dispose();
}
}