ミムの部屋

社内SEが,興味をもったことを書いていきます.

Apache POIでパワポスライドにオブジェクトを追加(JAVA, Apache POI, PowerPoint)

久しぶりに投稿します.
なんか,パワポJavaから作成できないか調べていたら,Apache POIなるものがあったので,使ってみることにしました.

早速ですが,題名の要件を満たしたコードをのっけます

import java.awt.Rectangle;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.hslf.usermodel.HSLFAutoShape;
import org.apache.poi.hslf.usermodel.HSLFShape;
import org.apache.poi.hslf.usermodel.HSLFSlide;
import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.sl.usermodel.*;


public class POItest {
	public static void main(String[] args) {
	  
              HSLFSlideShow pptt = new HSLFSlideShow();
	    
	      //creating an FileOutputStream object
	      File file =new File("example1.pptx");
	      FileOutputStream out;
	      
		try {
			HSLFSlide sl = pptt.createSlide();			
			out = new FileOutputStream(file);
			HSLFShape shape = new HSLFAutoShape(ShapeType.RECT);
		        shape.setAnchor(new Rectangle(50,100,100,100));
		        sl.addShape(shape);
		    
		      //saving the changes to a file
		      pptt.write(out);
		      System.out.println("Presentation created successfully");
		      out.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	  }
}

結果は,以下の通りです.
f:id:mimuishigaki:20170708175305p:plain