Convert office documents using LibreOffice / OpenOffice to one of their supported formats.
Add this line to your application's Gemfile:
gem'libreconv'And then execute:
$ bundle
Or install it yourself as:
$ gem install libreconv
You need to install LibreOffice or OpenOffice on your system to use this gem. The code has been tested with LibreOffice 6.1.3.
require'libreconv'# Converts document.docx to my_document_as.pdf# This requires that the soffice binary is present in your PATH.Libreconv.convert('document.docx','/Users/ricn/pdf_documents/my_document_as.pdf')# Converts document.docx to pdf and writes the output to the specified path# This requires that the soffice binary is present in your PATH.Libreconv.convert('document.docx','/Users/ricn/pdf_documents')# You can also convert a source file directly from an URLLibreconv.convert('http://myserver.com/123/document.docx','/Users/ricn/pdf_documents/doc.pdf')# You cal pass a URL with GET params like this S3 exampleLibreconv.convert('https://mybucket.s3.amazonaws.com/myserver/123/document.docx?X-Amz-Expires=456&X-Amz-Signature=abc','/Users/ricn/pdf_documents/doc.pdf')# Converts document.docx to document.pdf# If you for some reason can't have soffice in your PATH you can specify the file path to the soffice binaryLibreconv.convert('document.docx','/Users/ricn/pdf_documents','/Applications/LibreOffice.app/Contents/MacOS/soffice')# Converts document.docx to my_document_as.htmlLibreconv.convert('document.docx','/Users/ricn/pdf_documents/my_document_as.html',nil,'html')# Converts document.docx to my_document_as.pdf using writer_pdf_Export filterLibreconv.convert('document.docx','/Users/ricn/pdf_documents/my_document_as.pdf',nil,'pdf:writer_pdf_Export')After checking out the repo, run bundle install to install dependencies. Then, run bundle exec rake to run the tests.
You can also run irb -r bundler/setup -r libreconv for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install.
- Install LibreOffice on Linux:
sudo apt-get install libreoffice - Install LibreOffice on Mac:
brew cask install libreoffice
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request
The following people have contributed ideas, documentation, or code to Libreconv:
The gem is available as open source under the terms of the MIT License.
