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

骑猪看日落 2023-07-23 06:00 249阅读 0赞

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

如下导入效果:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0VpY2VibHVl_size_16_color_FFFFFF_t_70

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

Java**代码示例**

  1. import com.spire.presentation.*;
  2. import com.spire.presentation.drawing.FillFormatType;
  3. import java.awt.geom.Rectangle2D;
  4. public class AddHyperlink {
  5. public static void main(String[] args) throws Exception{
  6. //加载测试PPT
  7. Presentation ppt = new Presentation();
  8. ppt.loadFromFile("test.pptx");
  9. //实例化Rectangle2D.Double类的对象
  10. Rectangle2D.Double rec = new Rectangle2D.Double(350, 150, 400, 180);
  11. //在第1张幻灯片上添加形状
  12. IAutoShape shape1 = ppt.getSlides().get(0).getShapes().appendShape(ShapeType.RECTANGLE, rec);
  13. shape1.getFill().setFillType(FillFormatType.NONE);
  14. shape1.getLine().setFillType(FillFormatType.NONE);
  15. //添加链接到网页的超链接
  16. ParagraphEx para1 = new ParagraphEx();
  17. PortionEx tr1 = new PortionEx();
  18. tr1.setText("1. 网页地址链接:点击访问网页");
  19. tr1.getClickAction().setAddress("https://www.baidu.com/");
  20. para1.getTextRanges().append(tr1);
  21. shape1.getTextFrame().getParagraphs().append(para1);
  22. shape1.getTextFrame().getParagraphs().append(new ParagraphEx());
  23. //添加链接到邮箱地址的超链接
  24. ParagraphEx para2 = new ParagraphEx();
  25. PortionEx tr2 = new PortionEx();
  26. tr2.setText("2. 邮箱地址链接:点击发送邮件");
  27. tr2.getClickAction().setAddress("mailto:123654zz@163.com");
  28. para2.getTextRanges().append(tr2);
  29. shape1.getTextFrame().getParagraphs().append(para2);
  30. shape1.getTextFrame().getParagraphs().append(new ParagraphEx());
  31. //添加超链接跳转到其他幻灯片
  32. ParagraphEx para3 = new ParagraphEx();
  33. PortionEx tr3 = new PortionEx();
  34. tr3.setText("3. 幻灯片跳转链接:点击跳转到第二张幻灯片");
  35. ClickHyperlink link = new ClickHyperlink(ppt.getSlides().get(1));
  36. tr3.setClickAction(link);
  37. para3.getTextRanges().append(tr3);
  38. shape1.getTextFrame().getParagraphs().append(para3);
  39. //添加图片到第2张幻灯片,并设置超链接
  40. String imaPath = "pd.png";
  41. Rectangle2D.Float rect = new Rectangle2D.Float(230, 200, 500, 250);
  42. IEmbedImage image = ppt.getSlides().get(1).getShapes().appendEmbedImage(ShapeType.RECTANGLE, imaPath, rect);
  43. image.getLine().setFillType(FillFormatType.NONE);
  44. ClickHyperlink hyperlink = new ClickHyperlink("https://www.baidu.com/");
  45. image.setClick(hyperlink);
  46. //保存文档
  47. ppt.saveToFile("AddHyperlink.pptx", FileFormat.PPTX_2010);
  48. ppt.dispose();
  49. }
  50. }

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

文本超链接:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0VpY2VibHVl_size_16_color_FFFFFF_t_70 1

图片超链接:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0VpY2VibHVl_size_16_color_FFFFFF_t_70 2

(本文完)

发表评论

表情:
评论列表 (有 0 条评论,249人围观)

还没有评论,来说两句吧...

相关阅读

    相关 iOS文本实现

    [Demo下载地址][Demo] 在做登录或者注册页面时,都会有有类似于协议阅读的功能,左边是一个选择框是否阅读,右边是一行文本,且协议文本颜色不同。 之前在做的时候