Skip to content

Instantly share code, notes, and snippets.

@inossidabile
Created December 10, 2011 22:15
Show Gist options
  • Save inossidabile/1456705 to your computer and use it in GitHub Desktop.
Save inossidabile/1456705 to your computer and use it in GitHub Desktop.
Small JRuby lib using jodconverter to convert any office file to HTML and get it's content.
require 'commons-cli-1.1.jar'
require 'jodconverter-core-3.0-beta-4.jar'
require 'juh-3.2.1.jar'
require 'ridl-3.2.1.jar'
require 'commons-io-1.4.jar'
require 'json-20090211.jar'
require 'jurt-3.2.1.jar'
require 'unoil-3.2.1.jar'
class Converter
@@manager = false
def self.start
@@manager = org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration.new.buildOfficeManager
@@manager.start
@@manager
end
def self.convert(source)
@@manager ||= self.start
file = Tempfile.new(['converter', '.html'])
file.close
converter = org.artofsolving.jodconverter.OfficeDocumentConverter.new(@@manager)
converter.convert(java.io.File.new(source), java.io.File.new(file.path))
file.open
content = file.read
file.close
file.unlink
return content.force_encoding('BINARY')
end
def self.stop
@@manager ||= self.start
@@manager.stop
@@manager = false
true
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment