首页 > 编程语言 >Java 在PPT中添加文本、图片超链接

Java 在PPT中添加文本、图片超链接

时间:2023-01-04 12:05:44浏览次数:82  
标签:Java shape1 ParagraphEx 超链接 PPT new 幻灯片 append


本文介绍通过Java程序在PPT幻灯片中添加超链接的方法,可以给文本或者图片设置超链接,设置超链接时,可设置包括网页链接、邮件地址链接、幻灯片跳转链接等不同指向对象的链接。文中方法使用了免费版PPT类库(Free Spire.Presentation for Java),可在官网​下载jar包​,并解压将lib文件夹下的jar导入java程序。

如下导入效果:

Java 在PPT中添加文本、图片超链接_maven

程序运行环境:Java、IDEA、jdk1.8.0、无需安装Microsoft PowerPoint

 

Java代码示例

import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;

import java.awt.geom.Rectangle2D;

public class AddHyperlink {
public static void main(String[] args) throws Exception{
//加载测试PPT
Presentation ppt = new Presentation();
ppt.loadFromFile("test.pptx");

//实例化Rectangle2D.Double类的对象
Rectangle2D.Double rec = new Rectangle2D.Double(350, 150, 400, 180);

//在第1张幻灯片上添加形状
IAutoShape shape1 = ppt.getSlides().get(0).getShapes().appendShape(ShapeType.RECTANGLE, rec);
shape1.getFill().setFillType(FillFormatType.NONE);
shape1.getLine().setFillType(FillFormatType.NONE);

//添加链接到网页的超链接
ParagraphEx para1 = new ParagraphEx();
PortionEx tr1 = new PortionEx();
tr1.setText("1. 网页地址链接:点击访问网页");
tr1.getClickAction().setAddress("https://www.baidu.com/");
para1.getTextRanges().append(tr1);
shape1.getTextFrame().getParagraphs().append(para1);
shape1.getTextFrame().getParagraphs().append(new ParagraphEx());

//添加链接到邮箱地址的超链接
ParagraphEx para2 = new ParagraphEx();
PortionEx tr2 = new PortionEx();
tr2.setText("2. 邮箱地址链接:点击发送邮件");
tr2.getClickAction().setAddress("mailto:[email protected]");
para2.getTextRanges().append(tr2);
shape1.getTextFrame().getParagraphs().append(para2);
shape1.getTextFrame().getParagraphs().append(new ParagraphEx());

//添加超链接跳转到其他幻灯片
ParagraphEx para3 = new ParagraphEx();
PortionEx tr3 = new PortionEx();
tr3.setText("3. 幻灯片跳转链接:点击跳转到第二张幻灯片");
ClickHyperlink link = new ClickHyperlink(ppt.getSlides().get(1));
tr3.setClickAction(link);
para3.getTextRanges().append(tr3);
shape1.getTextFrame().getParagraphs().append(para3);

//添加图片到第2张幻灯片,并设置超链接
String imaPath = "pd.png";
Rectangle2D.Float rect = new Rectangle2D.Float(230, 200, 500, 250);
IEmbedImage image = ppt.getSlides().get(1).getShapes().appendEmbedImage(ShapeType.RECTANGLE, imaPath, rect);
image.getLine().setFillType(FillFormatType.NONE);
ClickHyperlink hyperlink = new ClickHyperlink("https://www.baidu.com/");
image.setClick(hyperlink);

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

超链接添加效果可在幻灯片放映中查看:

文本超链接:

Java 在PPT中添加文本、图片超链接_java_02

图片超链接:

Java 在PPT中添加文本、图片超链接_PPT_03

 

(本文完)

标签:Java,shape1,ParagraphEx,超链接,PPT,new,幻灯片,append
From: https://blog.51cto.com/u_15926533/5988063

相关文章

  • Java 给Word不同页面设置不同背景
    Word文档中,可直接通过【设计】-【页面颜色】页面颜色,通过Java代码可参考如下设置方法:1.设置单一颜色背景doc.getBackground().setType(BackgroundType.Color);doc.getBackg......
  • Java 编辑PPT SmartArt图形
    本文介绍在Java程序中如何来编辑PPT幻灯片中已有的SmartArt图形,包括重置图形样式、颜色、添加/删除图形节点、编辑节点内容、添加超链接到节点(链接到网页、链接到指定幻灯片......
  • 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函数声明返回值是声明在后面,而且可以不......