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

如下导入效果:

程序运行环境: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:123654zz@163.com");
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中添加文本、图片超链接的更多相关文章

  1. Java 在PPT中添加文本水印的简易方法(单一/平铺水印)

    [前言] 在PPT幻灯片中,可通过添加形状的方式,来实现类似水印的效果,可添加单一文本水印效果,即在幻灯片中心位置水印以单个文本字样显示,但通过一定方法也可以添加多行(平铺)文本水印效果,即在幻灯片中 ...

  2. Java 在PDF中添加水印——文本/图片水印

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...

  3. Java 在PPT中创建SmartArt图形、读取SmartArt图形中的文本

    一.概述及环境准备 SmartArt 图形通过将文字.图形从多种不同布局.组合来表现内容和观点的逻辑关系,能够快速.有效地传达设计者的意图和信息.这种图文表达的视觉表示形式常用于PPT,Word,Ex ...

  4. matlab图形中添加文本框

    图形中添加文本框,自己目前了解到了两种方法:1.用legend函数就可以对图形标注,形成一个文本框: 2.就是用annotation('textbox',[0.2,0.2.0.1,0.3],'Line ...

  5. C#word(2007)操作类--新建文档、添加页眉页脚、设置格式、添加文本和超链接、添加图片、表格处理、文档格式转化

    转:http://www.cnblogs.com/lantionzy/archive/2009/10/23/1588511.html 1.新建Word文档 #region 新建Word文档/// &l ...

  6. Java 在PDF 中添加超链接

    对特定元素添加超链接后,用户可以通过点击被链接的元素来激活这些链接,通常在被链接的元素下带有下划线或者以不同的颜色显示来进行区分.按照使用对象的不同,链接又可以分为:文本超链接,图像超链接,E-mai ...

  7. Java 提取Word中的文本和图片

    本文将介绍通过Java来提取或读取Word文档中文本和图片的方法.这里提取文本和图片包括同时提取文档正文当中以及页眉.页脚中的的文本和图片. 使用工具:Free Spire.Doc for Java ...

  8. Java 在Word中添加多行图片水印

    Word中设置水印效果时,不论是文本水印或者是图片水印都只能添加单个文字或者图片到Word页面,效果比较单一,本文通过Java代码示例介绍如何在页面中添加多行图片水印效果,即水印效果以多个图片平铺到页 ...

  9. C# 处理PPT水印(三)—— 在PPT中添加多行(平铺)文本水印效果

    在PPT幻灯片中,可通过添加形状的方式,来实现类似水印的效果,可添加单一文本水印效果,即幻灯片中只有一个文本水印:也可以添加多行(平铺)文本水印效果,即幻灯片中以一定方式平铺排列多个文本水印效果.本文 ...

  10. Java 读取PDF中的文本和图片

    本文将介绍通过Java程序来读取PDF文档中的文本和图片的方法.分别调用方法extractText()和extractImages()来读取.   使用工具:Free Spire.PDF for Ja ...

随机推荐

  1. 教育法学第九章单元测试MOOC

    第九章单元测试 返回 本次得分为:100.00/100.00, 本次测试的提交时间为:2020-09-06, 如果你认为本次测试成绩不理想,你可以选择 再做一次 . 1 单选(5分) 作为教师最基本的 ...

  2. 实现脚本自动部署docker

    前言: 使用场景是 我这边的一个单体项目需要多一个多副本的部署方式,一直输入重复命令我实在是嫌烦了,使用写了一个脚本来一键更新部署上去.jar包都是我手动上传的,没有把包传入公网库里. 之所以记录就是 ...

  3. CSS3之创建3D场景

    1.属性介绍 perspective:800    平面距离三维中方框的距离 perspective-origin:50% 50%   表示从平面上哪个位置看三维图 ,相当于是X轴和Y轴,此时表示平面 ...

  4. Stride游戏引擎试毒

    想找别的引擎用, 主要还是因为unity和国内盗版用户的互相伤害, 就算用免费的个人版也要不停的验证. stride引擎, 原名xenko, 再原名paradox... 一开始是日本厂商开发的引擎, ...

  5. QPainter和QPainterPath理解

    QPainter和QPainterPath QPainterPath (一)简介 (二)常用函数 1.addEllipse() 2.addPath() 3.addPolygon() 4.addRect ...

  6. 小测试:HashSet可以插入重复的元素吗?

    Set的定义是一群不重复的元素的集合容器.也就是说,只要使用Set组件,应该是要保证相同的数据只能写入一份,要么报错,要么忽略.当然一般是直接忽略. 如题,HashSet是Set的一种实现,自然也符合 ...

  7. Semantic Kernel 将成为通向Assistants的门户

    OpenAI 也推出了让开发者更容易使用 OpenAI API 的开发方式--Assistants API.Sam Altman 表示,市面上基于 API 构建 agent 的体验很棒.比如,Shop ...

  8. 树莓派4b部署samba服务实现文件共享

    注意 samba 生命力很旺盛,软件是在不断更新的, 网上很多针对 samba 网速优化设置截止当前 实测发现有很多已经过期, 甚至有些设置会适得其反,使传输速度更低. 例如, 全网都在配置的参数,& ...

  9. GCD Inside: GCD 数据结构

    1 OS_object OS_object由下面宏OS_OBJECT_DEC_BASE扩展而来: // 1. os/object.h OS_OBJECT_DECL_BASE(object, NSObj ...

  10. 微信小程序记住密码,让登录解放双手

    密码是用户最重要的数据,也是系统最需要保护的数据,我们在登录的时候需要用账号密码请求登录接口,如果用户勾选记住密码,那么下一次登录时,我们需要将账号密码回填到输入框,用户可以直接登录系统.我们分别对这 ...