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 URL
Libreconv.convert('http://myserver.com/123/document.docx', '/Users/ricn/pdf_documents/doc.pdf')
# You cal pass a URL with GET params like this S3 example
Libreconv.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 binary
Libreconv.convert('document.docx', '/Users/ricn/pdf_documents', '/Applications/LibreOffice.app/Contents/MacOS/soffice')
# Converts document.docx to my_document_as.html
Libreconv.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 filter
Libreconv.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.