zoukankan      html  css  js  c++  java
  • Java 在PPT中添加文本、图片超链接

    本文介绍通过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();
        }
    }

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

    文本超链接:

    图片超链接:

    (本文完)

  • 相关阅读:
    命名mangling(压榨)
    Redis的源代码分析
    开源数据库 Sharding 技术 (Share Nothing)
    Python中time模块详解
    关于海量数据的数据模型
    字符数组,字符指针,Sizeof总结
    ConfigParser模块的使用
    分享懒人张RDLC报表(七、八)
    VS中提示:未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
    VS用正则表达式统计代码行数
  • 原文地址:https://www.cnblogs.com/Yesi/p/12653027.html
Copyright © 2011-2022 走看看