首页 > 编程语言 >Java 编辑PPT SmartArt图形

Java 编辑PPT SmartArt图形

时间:2023-01-04 12:04:38浏览次数:59  
标签:Java get 节点 图形 PPT nodes SmartArt


本文介绍在Java程序中如何来编辑PPT幻灯片中已有的SmartArt图形,包括重置图形样式、颜色、添加/删除图形节点、编辑节点内容、添加超链接到节点(链接到网页、链接到指定幻灯片)等。

工具:Free Spire.Presentation for Java 免费版,jar导入,参考如下方法:

方法1. 官网​下载jar包​,解压,将lib文件夹下的Spire.Presentation.jar文件导入Java程序;

方法2. 在Maven程序中导入需要先配置pom.xml文件,如下:

<repositories>
<repository>
<id>com.e-iceblue</id>
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.presentation.free</artifactId>
<version>3.9.0</version>
</dependency>

配置好后,导入jar。

 

Java示例

import com.spire.presentation.*;
import com.spire.presentation.diagrams.*;

public class ModifySmartArt {
public static void main(String[] args) throws Exception {
//加载PPT文档
Presentation ppt = new Presentation();
ppt.loadFromFile("sample.pptx");

//获取SmartArt图形
ISmartArt smartart = (ISmartArt) ppt.getSlides().get(0).getShapes().get(0);

//重置图形样式及颜色
smartart.setStyle(SmartArtStyleType.SUBTLE_EFFECT);
smartart.setColorStyle(SmartArtColorType.COLORFUL_ACCENT_COLORS_2_TO_3);

//获取SmartArt图形的节点集合
ISmartArtNodeCollection nodes = smartart.getNodes();
nodes.get(1).getTextFrame().setText("新修改的节点内容");//更改节点内容

nodes.get(1).getTextFrame().setAutofitType(TextAutofitType.SHAPE);//设置节点形状的文本自适应类型

//添加超链接到节点
nodes.get(2).setClick(new ClickHyperlink("https://www.baidu.com/"));//添加指向网页的超链接
nodes.get(3).setClick(new ClickHyperlink(ppt.getSlides().get(1)));//添加指向指定幻灯片的超链接

//添加节点
ISmartArtNode newnode = nodes.get(5).getChildNodes().addNode();
newnode.getTextFrame().setText("新添加的节点内容");

//nodes[0].ChildNodes[3].ChildNodes.RemoveNodeByPosition(0);//删除节点


//保存文档
ppt.saveToFile("output.pptx", FileFormat.PPTX_2013);
ppt.dispose();
}
}

测试文档:

Java 编辑PPT SmartArt图形_图形

编辑结果如下,添加的超链接效果需要在幻灯片播放中查看:

Java 编辑PPT SmartArt图形_java_02

 

 

相关文章推荐:

  • ​​Java 在PPT中创建SmartArt图形、读取SmartArt图形中的文本​​

 

(本文完)

标签:Java,get,节点,图形,PPT,nodes,SmartArt
From: https://blog.51cto.com/u_15926533/5988071

相关文章

  • Java面试题Day01
    1.String , StringBuilder,StringBuffer的区别?(1)String只读字符串,引用的字符内容是不能被改变的.(2)StringBuilder和StringBuffer表示的字符串对象可以直接......
  • Linux环境下java环境变量配置简单说明
    第一步:到jdk包的路径下tar-xvfjdk-8u121-linux-x64.tar.gz-C/usr/lib/jvm第二步:cd/usr/lib/jvmls-ls查看下 第三步:配置环境变量vim/etc/profile按键i进入插入......
  • 第二阶段:Java SE 核心技术
    认清现实,放弃幻想特此感谢动力节点老杜分享出来的学习路线2.第二阶段:JavaSE核心技术2.1数据结构2.1.1学习目标1.掌握什么是数据结构2.为后面学习集......
  • java实现登录微博(通过cookie)
    1.获取cookie1.打开微博登录页面,浏览器F12进行抓包,登录。2.在微博首页地址栏找到url3.在浏览器调试页面找到Referer与地址栏相同的url2.代码1.加入依赖<de......
  • JAVA问题总结之28--读取某目录下所有文件
    JAVA问题总结之28–读取某目录下所有文件packagejava9231;importjava.io.File;publicclassforReadNFile{publicstaticvoidmain(String[]args){//TOD......
  • JAVA问题总结之27--创建100个文件
    JAVA问题总结之27–创建100个文件:packagejava9231;importjava.io.File;importjava.io.IOException;publicclassforCreateNFile{publicstaticvoidmain(String[]......
  • 基因数据处理119之java调用SSW在linux下运行
    更多代码请见:​​https://github.com/xubo245​​基因数据处理系列1.解释测试自带Example:xubo@xubo:~/xubo/tools/Complete-Striped-Smith-Waterman-Library/src$scala-D......
  • Scala学习5之scala与java的不同之总结1
    1.scala不同声明变量的具体类型,只需要声明是var还是val,即变量或不变量,由编译器自动判断。而java需要具体声明,比如Int,String2.scala函数声明返回值是声明在后面,而且可以不......
  • JAVA问题总结之22--Arraylist集合的操作
    JAVA问题总结之22--Arraylist集合的操作:packagecom.atguigu.java1;importjava.util.ArrayList;importjava.util.List;importorg.junit.Test;publicclassTestList{......
  • Scala学习6之scala与java的不同之总结2-重写override
    scala与java的不同之总结21.重写  scala:overridedefgetAge(){}java:@overridepublicIntgetAge(){}2.scala可以使用private[this]来更细化限定权限,private[this]可以......