module Asposeslides::Powerpoint
Public Instance Methods
create_ppt(file = nil)
click to toggle source
# File lib/asposeslides/powerpoint.rb, line 4 def create_ppt(file = nil) file ? Rjb::import('com.aspose.slides.Presentation').new(file) : Rjb::import('com.aspose.slides.Presentation').new end
get_notes(ppt, index)
click to toggle source
# File lib/asposeslides/powerpoint.rb, line 8 def get_notes(ppt, index) slide = ppt.getSlides().get_Item(index) slide.getNotesSlide() ? slide.getNotesSlide().getNotesTextFrame().getText() : '' end
merge_ppt_files(ppt_paths)
click to toggle source
# File lib/asposeslides/powerpoint.rb, line 45 def merge_ppt_files(ppt_paths) merged_ppt = create_ppt() merged_ppt_slides = merged_ppt.getSlides() ppt_paths.each do |ppt_path| ppt = create_ppt(ppt_path) slides = ppt.getSlides() (0..slides.toArray().length-1).map{|i| merged_ppt_slides.addClone(slides.get_Item(i))} end merged_ppt.getSlides().remove(merged_ppt.getSlides().get_Item(0)) merged_ppt end
merge_ppts_into_template(dest_ppt_path, src_ppt_options)
click to toggle source
# File lib/asposeslides/powerpoint.rb, line 13 def merge_ppts_into_template(dest_ppt_path, src_ppt_options) destPres = create_ppt(dest_ppt_path) offset_position = 0 src_ppt_options.each do |ppt_option| src_ppt_paths = ppt_option[:ppts] if src_ppt_paths && src_ppt_paths.size > 0 srcPres = merge_ppt_files(src_ppt_paths) else next end position = ppt_option[:position] replace = ppt_option[:replace] dest_slides = destPres.getSlides() src_slides = srcPres.getSlides() if position dest_slides.remove(dest_slides.get_Item(position + offset_position)) if replace (0..src_slides.toArray().length-1).map{|i| dest_slides.insertClone(position + offset_position + i, src_slides.get_Item(i))} offset_position = offset_position + (replace ? (src_slides.toArray().length - 1) : (src_slides.toArray().length)) else (0..src_slides.toArray().length-1).map{|i| dest_slides.addClone(src_slides.get_Item(i))} end end destPres end