4

I'm using Ruby for displaying the contents of powerpoint files in a webpage. I've found solutions using the win32ole but I'm in the linux environment and it doesn't work. I think the application could trigger a openoffice command for conversion.

Cassio Melo
  • 41
  • 1
  • 2

2 Answers2

7

I recommend using Docsplit.

Install the gem, and then you can do something like:

Docsplit.extract_images(filename, :size => '920x', :format => [:png])
BryanH
  • 5,826
  • 3
  • 34
  • 47
Shlomi Zadok
  • 278
  • 4
  • 10
4

You can use Rjb and JODConverter to export your powerpoint to flash (or any other format).

Here is a pice of code to do it :

require 'rubygems'
require 'rjb'

classpath = nil

Rjb::load( classpath, ['-Djava.awt.headless=true'] )

jFile = Rjb::import( 'java.io.File' )
jSocketOpenOfficeConnection = Rjb::import( 'com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection' )
jOpenOfficeDocumentConverter = Rjb::import( 'com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter' )

input = jFile.new( "your-doc.ppt" )
output = jFile.new( "your-doc.swf" )

# connect to an OpenOffice.org instance running on port 8100
connection = jSocketOpenOfficeConnection.new( 8100 )
connection.connect()

# convert
converter = jOpenOfficeDocumentConverter.new( connection )
converter.convert( input, output )

# close the connection
connection.disconnect()

You need to start an OOo.org server :

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

And to add jodconverter-cli-X.X.X.jar to your CLASSPATH

BryanH
  • 5,826
  • 3
  • 34
  • 47
greg
  • 844
  • 4
  • 11