今回はPowerPoint でハイパーリンクを作成する方法を紹介することにします。それにSpire.Presentation for Javaと言うライブラリが必要です。Webサイト、メールアドレス、ほかのPowerPointスライドにリンクを貼る仕方を見せてあげましょう。
下準備
1.E-iceblueの公式サイトからFree Spire. Presentation for Java無料版をダウンロードしてください。
2.IDEを起動して新規プロジェクトを作成してから、インストールされたファイルにあった相応しいSpire. Presentation.jarを参照に追加してください。
コード
```java 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);
}
}
<h4><strong>完成例</strong></h4>
<p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/l/lendoris/20201230/20201230161603.png" alt="f:id:lendoris:20201230161603p:plain" title="" class="hatena-fotolife" itemprop="image" /></p>
<p> </p>