Apache POI PPT - 创建超链接

在本章中,您将学习如何在演示文稿中创建超链接。

创建超链接

您可以使用 XSLFTextRun 类的 createHyperlink() 方法读取演示文稿中的超链接。按照下面给出的步骤在演示文稿中创建超链接。

使用 XMLSlideShow 类创建一个空演示文稿,如下所示 −

XMLSlideShow ppt = new XMLSlideShow();

创建一个空幻灯片,并使用正文和内容布局创建幻灯片的文本框和正文。

//创建一个空演示文稿
XSLFSlideMaster slideMaster = ppt.getSlideMasters()[0];

//创建带有标题和内容布局的幻灯片
XSLFSlideLayout slidelayout = slideMaster.getLayout(SlideLayout.TITLE_AND_CONTENT);
XSLFSlide slide = ppt.createSlide(slidelayout);

//选择正文占位符
XSLFTextShape body = slide.getPlaceholder(1);

//清除幻灯片中的现有文本
body.clearText();

创建一个文本运行对象并为其设置文本,如下所示 −

XSLFTextRun textRun = body.addNewTextParagraph().addNewTextRun();
textRun.setText("Tutorials point");

使用 XSLFTextRun 类的 createHyperlink() 方法创建超链接,如下所示 −

XSLFHyperlink link = textRun.createHyperlink();

使用 XSLFHyperlink 类的 setAddress() 方法将链接地址设置为超链接,如下所示 −

link.setAddress("https://www.tutorialspoint.com/");

下面给出了在演示文稿中创建超链接的完整程序 −

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.xslf.usermodel.SlideLayout;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFHyperlink;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFSlideLayout;
import org.apache.poi.xslf.usermodel.XSLFSlideMaster;
import org.apache.poi.xslf.usermodel.XSLFTextRun;
import org.apache.poi.xslf.usermodel.XSLFTextShape;

public class CreatingHyperlinks {
   public static void main(String args[]) throws IOException {
        //创建一个空的演示文稿
        XMLSlideShow ppt = new XMLSlideShow();
        
        //获取幻灯片母版对象
        XSLFSlideMaster slideMaster = ppt.getSlideMasters().get(0);
        
        //从指定列表中选择一个布局
        XSLFSlideLayout slidelayout = slideMaster.getLayout(SlideLayout.TITLE_AND_CONTENT);
        
        //创建带有标题和内容布局的幻灯片
        XSLFSlide slide = ppt.createSlide(slidelayout);
        
        //选择标题占位符
        XSLFTextShape body = slide.getPlaceholder(1);
        
        //清除幻灯片中的现有文本
        body.clearText();
        
        //添加新段落
        XSLFTextRun textRun = body.addNewTextParagraph().addNewTextRun();
        
        //设置文本
        textRun.setText("Tutorials point");
        
        //创建超链接
        XSLFHyperlink link = textRun.createHyperlink();
        
        //设置链接地址
        link.setAddress("https://www.tutorialspoint.com/");
        
        //创建文件对象
        File file = new File("hyperlink.pptx");
        FileOutputStream out = new FileOutputStream(file);
        
        //将更改保存到文件中
        ppt.write(out);
        System.out.println("幻灯片创建成功");
        out.close();
   }
}

将上述 Java 代码保存为 CreatingHyperlinks.java,然后从命令提示符编译并执行,如下所示 −

$javac CreatingHyperlinks.java
$java CreatingHyperlinks

它将编译并执行以生成以下输出 −

幻灯片创建成功

新添加的幻灯片正文中包含超链接,如下所示 −

创建超链接