Poleica

Ruby conversion tool & preview creator

Build Status Coverage Status Code Climate Gem Version Dependency Status

Concept

_ -> PDF -> Image

Image -> Image

Basically it just takes some files, tries to convert it to PDF or PNG. It was modularly written, so you can improve the gem with more conversion tools (html to pdf is planned).

Installation

Ubuntu :

Look at .travis.yml file

MacOS :

brew install ghostscript graphicsmagick

Download LibreOffice and install it.

Then :

gem install poleica

or in Gemfile :

gem 'poleica'

Usage

Poleica.new(file_path).to_png
Poleica.new(file_path).to_pdf
Poleica.new(file_path).to_thumbnail
Poleica.new(file_path).to_png(width: 400, weight: 400)

Configuration

Example :

Poleica.configure do |config|
  config.timeout = 2 # time in secs
  config.libre_office[:bin_paths][:linux] = '/usr/local/bin/gm'
  config.graphics_magick[:bin_paths][:osx] = '/Applications/OpenOffice.app/Contents/MacOS/soffice.bin'
end

Options

  • weight : pixels number
  • width : pixels number
  • force_resize : boolean(false) (it doesnt preserve the image ratio)
  • path : string folder or file
  • auto_orient : boolean(true) (keep the orientation extracted from EXIF)

Dependencies

  • GraphicsMagick (gm) >= 1.3.18 (for auto-rotate)
  • LibreOffice

Requirements

  • It should be easy
  • It should work on MacOS & Linux
  • It should handle standard files
  • It should convert to PNG or PDF

Standard files

  • Documents: PDF, PPT, DOC, TXT..
  • Images: PNG, JPEG, GIF...

Conventions

  • I wrote mimetype not mime_type

Warning

  • If you want to disable .~lock.#file_name# creation in /tmp just : export SAL_ENABLE_FILE_LOCKING=0
  • Exit LibreOffice App before tests and launch

Thanks

  • A lot of inspiration from a lot of gems :
    • Docsplit
    • Paperclip
    • ROM
    • ...

License

Poleica is released under the MIT License

Trivia

Poleica = Polaroid + Leica (hipsterism)