Skip to content

Instantly share code, notes, and snippets.

@yoonchulkoh
Created February 23, 2012 08:19
Show Gist options
  • Save yoonchulkoh/1891499 to your computer and use it in GitHub Desktop.
Save yoonchulkoh/1891499 to your computer and use it in GitHub Desktop.
rjbでパワーポイントに画像貼り付け
require 'rubygems'
require 'rjb'
apache_poi_path = File.join File.dirname(__FILE__), 'poi-3.7/poi-3.7-20101029.jar'
apache_poi_contrib_path = File.join File.dirname(__FILE__), 'poi-3.7/poi-scratchpad-3.7-20101029.jar'
Rjb::load("#{apache_poi_path}:#{apache_poi_contrib_path}", ['-Xms256M', '-Xmx512M', '-Djava.awt.headless=true'])
slide_show = Rjb::import('org.apache.poi.hslf.usermodel.SlideShow')
file_os_class = Rjb::import('java.io.FileOutputStream')
file_class = Rjb::import('java.io.File')
picture_class = Rjb::import('org.apache.poi.hslf.model.Picture')
ppt = slide_show.new
idx = ppt._invoke('addPicture', 'Ljava.io.File;I', file_class.new("./github.png"), picture_class.PNG)
pict = picture_class.new(idx)
slide = ppt.createSlide
slide.addShape(pict)
file_name = 'my.ppt'
out = file_os_class.new(File.join File.dirname(__FILE__), file_name)
ppt.write(out)
out.close
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment