Как конвертировать ppt в изображения в Ruby? - PullRequest
4 голосов
/ 25 июля 2010

Я использую Ruby для отображения содержимого файлов powerpoint на веб-странице. Я нашел решения, использующие win32ole, но я нахожусь в среде Linux, и это не работает. Я думаю, что приложение может вызвать команду openoffice для преобразования.

Ответы [ 2 ]

7 голосов
/ 01 октября 2011

Я рекомендую использовать Docsplit .

Установите гем, и тогда вы сможете сделать что-то вроде:

Docsplit.extract_images(filename, :size => '920x', :format => [:png])
4 голосов
/ 25 июля 2010

Вы можете использовать Rjb и JODConverter для экспорта вашей PowerPoint на флэш (или любой другой формат ).

Вот примеркода для этого:

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()

Вам необходимо запустить сервер OOo.org:

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

И добавить jodconverter-cli-X.X.X.jar к вашему CLASSPATH

...