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

这篇具有很好参考价值的文章主要介绍了如何通过Java应用程序在PPT中创建SmartArt图形。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

代码编译环境:

IntelliJ IDEA 2019(jdk 1.8.0)

Presentation Jar包:Free Spire.Presentation for Java 5.1.0

引入jar

导入方法1:

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

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

导入方法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(int index) 方法获取指定幻灯片。
  • 使用 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(int index)方法获取指定节点,然后使用ISmartArtNode.getTextFrame().setText(String string) 方法向节点添加内容。
  • 如需自定义节点内容,可在添加图形后,通过 ISmartArt.getNodes().removeNode(IsmartArtNode iSmartArtNode) 方法删除原有节点后,以 ISmartArt.getNodes().addNode() 方法添加节点和 IsmartArtNode.getChildNodes().addNode() 方法添加子节点,然后采用上一步骤的方法添加内容到自定义的节点。
  • 最后,使用 Presentation.saveToFile(String file, 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();
    }
}

效果图

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

—本文完—文章来源地址https://www.toymoban.com/news/detail-416246.html

到了这里,关于如何通过Java应用程序在PPT中创建SmartArt图形的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java安全和防护:如何保护Java应用程序和用户数据的安全

      在当今数字化时代,Java已经成为主流的编程语言之一。无论是企业级应用程序还是个人项目,Java应用程序都承载着大量的敏感数据和业务逻辑。然而,随着网络攻击日益猖獗,保护Java应用程序和用户数据的安全变得尤为重要。本文将深入探讨Java应用程序安全的重要性,并

    2024年02月03日
    浏览(69)
  • 应用程序已被Java 安全阻止-- 如何全局设置Java 控制面板参数

    最近遇到一个客户问题,客户方存在一个使用场景为使用IE访问一个页面 之后通过点击页面的按钮调起一个applet程序,结果遇到了一个弹窗告警:应用程序已被Java安全阻止。 对于这个问题 解决方案有两个: 1.将访问的页面站点加入到例外站点中。 2.修改Java控制面板中参数,

    2024年02月04日
    浏览(60)
  • 三分钟创建一个新应用,ivx的神奇之处【PPT式程序开发】

    像做PPT一样的可视化编程语言你想拥有吗,可以自己尝试一下。 像PPT一样的编程语言 🥭🥭点击链接,跳转到官网 IVX是一门人人都能快速掌握的可视化编程语言 🥭🥭点击立即体验进入应用创建页面 绝大部分程序员做的都是中低端代码,本身为公司提供的价值与公司不符,

    2023年04月09日
    浏览(48)
  • Windows 通过端口占用查找应用程序

    对于开发人员在启动项目的过程中也许会遇到程序使用 端口被占用的情况;如下: 遇到这种情况我们可以换一个端口,也可以查找是哪个程序暂用了这个端口;在Windows上我们可以通过如下方式去查找对应的端口程序信息。 1、打开dos命令窗口 开始—-运行—-cmd,或者是wind

    2024年02月12日
    浏览(40)
  • 通过PyCharm平台开发Django应用程序

    学会使用命令行工具开发Django应用程序是基础,不过更多的时候还是要借助平台开发工具。目前,最好的Django应用程序开发工具就是jetBrains公司推出的PyCharm平台了。 借助PyCharm开发平台,可以极大提高开发Django应用程序的效率,同时可以使用到很多非常实用的第三方插件。不

    2024年04月26日
    浏览(40)
  • [C#] 允许当前应用程序通过防火墙

            通常在一台装有防火墙的电脑上运行程序的场合,往往会弹出对话框提示:是否允许执行该应用程序。          我们在开发软件的时候,可以事先在软件里面设置当前软件为防火墙允许通过的软件。这样,用户在使用时就可以避开前面提到的弹框了。          

    2024年02月09日
    浏览(48)
  • 【C#】通过C#代码创建IIS应用程序池和网站

    代码 参考了其他人的代码,做了一些优化,很多代码用不上 例子 参考 自写C#添加网站应用程序池虚拟目录实现网站管理 » 江湖人士 使用命令行在 Windows 11 上启用 IIS Web 服务器-云东方 用C# 代码咋管理IIS呢?_零零妖的博客-CSDN博客 C#IIS网站应用程序池列表添加修改删除 - -

    2024年02月13日
    浏览(43)
  • 把通过autogen构建的AI agent接入到自己的应用程序中

    同志们,我很高兴的告诉大家我们有了一个比langchain更好用的构建AI agent的工具。众所周知,langchain主要就是一堆字符串提示模板构成的,这导致,当我们的模型性能不够强大(比如说gpt3.5)时会因为上下文的干扰而产生幻觉,从而无法完成我们所需要让其完成的任务(之前想让

    2024年02月04日
    浏览(55)
  • 机器人过程自动化(RPA)入门 6. 通过插件和扩展易于控制应用程序

    到目前为止,您已经学习了如何记录自动化步骤,还学习了控制流以及变量和数据表的使用。最重要的部分是理解和掌握控制。除非您能够正确地识别应用程序的控件,否则不可能成功地实现流程自动化。现在,在本章中,我们将学习如何使用外部插件和扩展。除了基本的提

    2024年02月19日
    浏览(57)
  • C# Winfrom通过COM接口访问和控制Excel应用程序,将Excel数据导入DataGridView

    1.首先要创建xlsx文件 2.在Com中添加引用 3. 添加命名空间         using ApExcel = Microsoft.Office.Interop.Excel;         --这样起个名字方面后面写 4.样例 5.获取sheet.Cells值的时候也可以不使用强制转换,还要注意这个的下标是从1开始的

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包