パワポって図形の集まりなんで、これが出力の基本ですね。
Apache POIを使って、パワーポイントに図形を出力するサンプル
Apache POIを使って、PowerPointのファイルを出力します。
また、作成するスライドに丸・三角・四角の図形を出力します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | import java.awt.Color; import java.awt.Rectangle; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.sl.usermodel.ShapeType; import org.apache.poi.xslf.usermodel.XMLSlideShow; import org.apache.poi.xslf.usermodel.XSLFAutoShape; import org.apache.poi.xslf.usermodel.XSLFSlide; public class PowerPointWriteTest { public static void main(String[] args) { try (XMLSlideShow slideShow = new XMLSlideShow(); FileOutputStream out = new FileOutputStream("c:\\work\\test.pptx")) { //スライド作成 XSLFSlide slide = slideShow.createSlide(); //丸の図形を作成 XSLFAutoShape ellipse = slide.createAutoShape(); ellipse.setShapeType(ShapeType.ELLIPSE); ellipse.setLineColor(Color.BLACK); ellipse.setAnchor(new Rectangle(100, 100, 200, 200)); ellipse.setText("丸"); //三角の図形を作成 XSLFAutoShape triangle = slide.createAutoShape(); triangle.setShapeType(ShapeType.TRIANGLE); triangle.setLineColor(Color.BLACK); triangle.setAnchor(new Rectangle(300, 100, 200, 200)); triangle.setText("三角"); //四角の図形を作成 XSLFAutoShape rectangle = slide.createAutoShape(); rectangle.setShapeType(ShapeType.RECT); rectangle.setLineColor(Color.BLACK); rectangle.setAnchor(new Rectangle(500, 100, 200, 200)); rectangle.setText("四角"); //ファイルへ出力 slideShow.write(out); } catch (IOException e) { e.printStackTrace(); } } } |
実行結果
PowerPointのファイルが出力されます。
また、こんな感じでスライドに丸・三角・四角の図形が出力されます。
サンプルの解説
XSLFSlide#createAutoShape()で図形を作成します。
作成したシェイプに対して、シェイプの種類(丸とか)、文字列などを指定しています。
あとは、XMLSlideShow#write(OutputStream)で出力して、ファイルを作るだけですね。
※このコードを使用するには、別途Apache POIの入手が必要です。
入手方法などはこちらの記事に書いてあります。