写点什么

如何通过 Java 应用程序在 PPT 中创建 SmartArt 图形

作者:在下毛毛雨
  • 2023-04-18
    四川
  • 本文字数:2411 字

    阅读完需:约 8 分钟

如何通过Java应用程序在PPT中创建SmartArt图形

SmartArt 其实就是一个文字的可视化工具,用户可在 PowerPoint,Word,Excel 中使用该特性创建各种图形图表。SmartArt 图形是信息和观点的视觉表示形式。可以通过从多种不同布局中进行选择来创建 SmartArt 图形,从而快速、轻松、有效地传达信息。简单的来说 SmartArt 就是 PPT 内建的逻辑图表,主要用于表达文本之间的逻辑关系,可帮助你轻松且高效地传达信息。本文就将为您介绍如何通过 Java 应用程序在 PPT 中创建 SmartArt 图形。下面是我整理的具体步骤及方法,并附上 Java 代码供大家参考。

代码编译环境:

IntelliJIDEA 2019(jdk 1.8.0)

PresentationJar 包:Free Spire.Presentation for Java 5.1.0

引入 jar 包

导入方法 1:

手动引入。将Free Spire. Presentationfor Java下载到本地,解压,找到 lib 文件夹下的 Spire. Presentation.jar 文件。在 IDEA 中打开如下界面,将本地路径中的 jar 文件引入 Java 程序:

导入方法 2:如果您想通过 Maven 安装,则可以在 pom.xml 文件中添加以下代码导入 JAR 文件。

<repositories>    <repository>        <id>com.e-iceblue</id>        <name>e-iceblue</name>        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>    </repository></repositories><dependencies>    <dependency>        <groupId>e-iceblue</groupId>        <artifactId>spire.presentation.free</artifactId>        <version>5.1.0</version>    </dependency></dependencies>
复制代码

创建 SmartArt 图形

创建 SmartArt 图形时,可根据创建的图形,在预设的节点中添加内容;也可以根据设计需要自行添加节点或者删除节点。以下,是本次创建 SmartArt 图形的主要步骤:

  • 创建 Presentation 类的对象。

  • 通过 Presentation.getSlides().get(intindex) 方法获取指定幻灯片。

  • 使用 ISlide.getShapes().appendSmartArt(float x, float y, float width, float height,SmartArtLayoutType layoutType) 方法添加 SmartArt 图形到幻灯片。

  • 使用 IsmartArt.setColorStyle(SmartArtColorType smartArtColorType) 方法和 IsmartArt.setStyle(SmartArtStyleType smartArtStyleType) 方法设置图形颜色和样式。

  • 通过 IsmartArtNode.getNodes().get(intindex) 方法获取指定节点,然后使用 ISmartArtNode.getTextFrame().setText(Stringstring) 方法向节点添加内容。

  • 如需自定义节点内容,可在添加图形后,通过 ISmartArt.getNodes().removeNode(IsmartArtNode iSmartArtNode) 方法删除原有节点后,以 ISmartArt.getNodes().addNode() 方法添加节点和 IsmartArtNode.getChildNodes().addNode() 方法添加子节点,然后采用上一步骤的方法添加内容到自定义的节点。

  • 最后,使用 Presentation.saveToFile(Stringfile, FileFormat fileFormat) 方法保存幻灯片文档到指定路径。

完整代码

Java

import com.spire.presentation.*;import com.spire.presentation.diagrams.*;
public class SmartArt { public static void main(String[] args) throws Exception{ //创建PPT文档,获取一张幻灯片(创建的空白PPT文档,默认包含一张幻灯片) Presentation ppt = new Presentation(); ISlide slide = ppt.getSlides().get(0);
//创建SmartArt图形1 ISmartArt smartArt1 = slide.getShapes().appendSmartArt(50,50,200,200, SmartArtLayoutType.BASIC_CYCLE);//在幻灯片指定位置添加指定大小和布局类型的SmartArt图形 smartArt1.setColorStyle(SmartArtColorType.COLORFUL_ACCENT_COLORS_4_TO_5);//设置SmartArt图形颜色类型 smartArt1.setStyle(SmartArtStyleType.INTENCE_EFFECT);//设置SmartArt图形样式 ISmartArtNode smartArtNode1 = smartArt1.getNodes().get(0);//获取节点 smartArtNode1.getTextFrame().setText("设计");//添加内容 smartArt1.getNodes().get(1).getTextFrame().setText("求实"); smartArt1.getNodes().get(2).getTextFrame().setText("练习"); smartArt1.getNodes().get(3).getTextFrame().setText("实践"); smartArt1.getNodes().get(4).getTextFrame().setText("创新");

//创建SmartArt图形2,自定义节点内容 ISmartArt smartArt2 = slide.getShapes().appendSmartArt(400,200,200,200,SmartArtLayoutType.BASIC_RADIAL); smartArt2.setColorStyle(SmartArtColorType.DARK_2_OUTLINE); smartArt2.setStyle(SmartArtStyleType.MODERATE_EFFECT); //删除默认的节点(SmartArt中的图形) for (Object a : smartArt2.getNodes()) { smartArt2.getNodes().removeNode((ISmartArtNode) a); } //添加一个母节点 ISmartArtNode node2 = smartArt2.getNodes().addNode(); //在母节点下添加三个子节点 ISmartArtNode node2_1 = node2.getChildNodes().addNode(); ISmartArtNode node2_2 = node2.getChildNodes().addNode(); ISmartArtNode node2_3 = node2.getChildNodes().addNode(); //在节点上设置文字及文字大小 node2.getTextFrame().setText("设备"); node2.getTextFrame().getTextRange().setFontHeight(14f); node2_1.getTextFrame().setText("机械"); node2_1.getTextFrame().getTextRange().setFontHeight(12f); node2_2.getTextFrame().setText("电气"); node2_2.getTextFrame().getTextRange().setFontHeight(12f); node2_3.getTextFrame().setText("自动化"); node2_3.getTextFrame().getTextRange().setFontHeight(12f);
//保存文档 ppt.saveToFile("AddSmartArt.pptx",FileFormat.PPTX_2013); ppt.dispose(); }}
复制代码

效果图

—本文完—

发布于: 刚刚阅读数: 3
用户头像

还未添加个人签名 2022-06-02 加入

还未添加个人简介

评论

发布
暂无评论
如何通过Java应用程序在PPT中创建SmartArt图形_Java_在下毛毛雨_InfoQ写作社区