Module: Bizside::FileConverter
- Defined in:
- lib/bizside/file_converter.rb
Constant Summary collapse
- EXT_IMAGE =
['.gif', '.jpg', '.jpeg', '.png']
- EXT_OFFICE =
['.doc', '.docx', '.ppt', '.pptx', '.xls', '.xlsx']
- EXT_PDF =
['.pdf']
Class Method Summary collapse
Class Method Details
.convert_to_image(file) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/bizside/file_converter.rb', line 26 def self.convert_to_image(file) require 'rmagick' case File.extname(file.path) when *EXT_IMAGE dest = file.path + File.extname(file.path) unless system("cp #{file.path} #{dest}") raise "画像をコピーできませんでした。file=#{file.path}" end ret = File.new(dest) when *EXT_OFFICE pdf = convert_to_pdf(file) ret = convert_to_image(pdf) when *EXT_PDF dest = file.path + '.png' images = Magick::ImageList.new(file.path) do |m| m.quality = 100 m.density = 96 end images.first.write(dest) ret = File.new(dest) else raise "サポートしていない拡張子です。file=#{file.path}" end ret end |
.convert_to_pdf(file) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/bizside/file_converter.rb', line 7 def self.convert_to_pdf(file) dest = file.path + '.pdf' case File.extname(file.path) when *EXT_OFFICE unless system("java -Xmx512m -jar /opt/jodconverter/lib/jodconverter-core.jar #{file.path} #{dest}") raise "オフィス文書からPDFに変換できませんでした。file=#{file.path}" end when *EXT_PDF unless system("cp #{file.path} #{dest}") raise "PDFをコピーできませんでした。file=#{file.path}" end else raise "サポートしていない拡張子です。file=#{file.path}" end File.new(dest) end |