LoginSignup
0
0

More than 3 years have passed since last update.

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

Posted at

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

下準備

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

f:id:lendoris:20201230161324p:plain

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

f:id:lendoris:20201230161342p:plain

コード

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:sales@yahoo.com");
        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);
    }
}

完成例

f:id:lendoris:20201230161603p:plain

 

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0