Java  PowerPoint でハイパーリンクを作成


今回はPowerPoint でハイパーリンクを作成する方法を紹介することにします。それにSpire.Presentation for Javaと言うライブラリが必要です。Webサイト、メールアドレス、ほかのPowerPointスライドにリンクを貼る仕方を見せてあげましょう。

下準備

1.E-iceblueの公式サイトからFree Spire. Presentation for Java無料版をダウンロードしてください。

2.IDEを起動して新規プロジェクトを作成してから、インストールされたファイルにあった相応しいSpire. Presentation.jarを参照に追加してください。

コード

import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;
import java.awt.*;
import java.awt.geom.Rectangle2D;
public class addHyperlink {
    public static void main(String[] args) throws Exception {
        String outputFile = "output/hyperlink_result.pptx";
        //PPT objectを作成します
        Presentation presentation = new Presentation();

        //テキストの末尾でもう一つのスライドを追加します。
        presentation.getSlides().append();
        Rectangle2D.Double rec = new Rectangle2D.Double(presentation.getSlideSize().getSize().getWidth() / 2 - 255, 120, 500, 280);
        IAutoShape shape = presentation.getSlides().get(1).getShapes().appendShape(ShapeType.RECTANGLE, rec);
        shape.getFill().setFillType(FillFormatType.NONE);
        shape.getLine().setWidth(0);
        ParagraphEx para1 = new ParagraphEx();
        PortionEx tr1 = new PortionEx();
        tr1.setText("二つのページです");
        para1.getTextRanges().append(tr1);
        shape.getTextFrame().getParagraphs().append(para1);
        para1.setAlignment(TextAlignmentType.CENTER);
        tr1.getFill().setFillType(FillFormatType.SOLID);
        tr1.getFill().getSolidColor().setColor(Color.blue);
        shape.getTextFrame().getParagraphs().append(new ParagraphEx());

        // 一つめのスライドで図形を追加します。
        IAutoShape shape1 = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.RECTANGLE, rec);
        shape1.getFill().setFillType(FillFormatType.NONE);
        shape1.getLine().setWidth(0);
        //Webサイトにリンクを貼ります。
        ParagraphEx para2 = new ParagraphEx();
        PortionEx tr2 = new PortionEx();
        tr2.setText("クリックしてみてください");
        tr2.getClickAction().setAddress("www.google.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("日本語のページを読む");
        tr3.getClickAction().setAddress("www.google.com/");
        para3.getTextRanges().append(tr3);
        shape1.getTextFrame().getParagraphs().append(para3);
        shape1.getTextFrame().getParagraphs().append(new ParagraphEx());
        ParagraphEx para4 = new ParagraphEx();
        PortionEx tr4 = new PortionEx();
        tr4.setText("知恵袋へ移動して質問する");
        tr4.getClickAction().setAddress("www.google.com/");
        para4.getTextRanges().append(tr4);
        shape1.getTextFrame().getParagraphs().append(para4);
        shape1.getTextFrame().getParagraphs().append(new ParagraphEx());
        //メールアドレスにリンクを貼ります。
        ParagraphEx para5 = new ParagraphEx();
        PortionEx tr5 = new PortionEx();
        tr5.setText("メールで お問い合わせ");
        tr5.getClickAction().setAddress("mailto:[email protected]");
        para5.getTextRanges().append(tr5);
        shape1.getTextFrame().getParagraphs().append(para5);
        shape1.getTextFrame().getParagraphs().append(new ParagraphEx());
        //ハイパーリンクをつけてほかのスライドに飛びます。
        ParagraphEx para6 = new ParagraphEx();
        PortionEx tr6 = new PortionEx("二つめのスライドに飛ぶ");
        ClickHyperlink link = new ClickHyperlink(presentation.getSlides().get(1));
        tr6.setClickAction(link);
        para6.getTextRanges().append(tr6);
        shape1.getTextFrame().getParagraphs().append(para6);

        //保存します。
        presentation.saveToFile(outputFile, FileFormat.PPTX_2010);
    }
}

完成例