Java如何在PPT中的幻燈片上建立超連結?

2019-10-16 22:28:17

在Java程式設計中,如何在PPT中的幻燈片上建立超連結?

注意:需要存取網址:http://poi.apache.org/download.html , 下載一個Apache POI軟體包。這裡下載最新版本:poi-bin-3.17-20170915.tar.gz解壓並全部匯入 。

需要匯入全部包,如下圖所示 -

以下是使用Java在PPT中的幻燈片上建立超連結的程式。

package com.yiibai;

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;
import org.apache.xmlbeans.impl.xb.xsdschema.ListDocument.List;

public class CreateHyperlinkOnSlide {
    public static void main(String args[]) throws IOException {

        // create an empty presentation
        XMLSlideShow ppt = new XMLSlideShow();

        // getting the slide master object
        java.util.List<XSLFSlideMaster> sl = ppt.getSlideMasters();
        XSLFSlideMaster slideMaster = sl.get(0);

        // select a layout from specified list
        XSLFSlideLayout slidelayout = slideMaster.getLayout(SlideLayout.TITLE_AND_CONTENT);

        // creating a slide with title and content layout
        XSLFSlide slide = ppt.createSlide(slidelayout);

        // selection of title place holder
        XSLFTextShape body = slide.getPlaceholder(1);

        // clear the existing text in the slide
        body.clearText();

        // adding new paragraph
        XSLFTextRun textRun = body.addNewTextParagraph().addNewTextRun();

        // setting the text
        textRun.setText("易百教學網");

        // creating the hyperlink
        XSLFHyperlink link = textRun.createHyperlink();

        // setting the link address
        link.setAddress("https://www.tw511.com/");

        // create the file object
        File file = new File("hyperlink.pptx");
        FileOutputStream out = new FileOutputStream(file);

        // save the changes in a file
        ppt.write(out);
        System.out.println("slide cretated successfully");
        out.close();
    }
}

執行上面範例程式碼,得到以下結果 -

slide cretated successfully

這就建立一個PPT檔案:hyperlink.pptx了,如下所示 -