class Libis::Format::Converter::ImageSplitter
Public Class Methods
category()
click to toggle source
# File lib/libis/format/converter/image_splitter.rb, line 36 def self.category :splitter end
input_types()
click to toggle source
# File lib/libis/format/converter/image_splitter.rb, line 23 def self.input_types [:PDF, :TIFF, :GIF, :PBM, :PGM, :PPM] end
multipage?(format)
click to toggle source
# File lib/libis/format/converter/image_splitter.rb, line 32 def self.multipage?(format) [:PDF, :TIFF, :GIF, :PBM, :PGM, :PPM].include?(format) end
output_types(format = nil)
click to toggle source
# File lib/libis/format/converter/image_splitter.rb, line 27 def self.output_types(format = nil) return [] unless input_types.include?(format) if format [:TIFF, :JPG, :PNG, :BMP, :GIF, :PDF, :JP2] end
Public Instance Methods
convert(source, target, format, opts = {})
click to toggle source
Calls superclass method
Libis::Format::Converter::Base#convert
# File lib/libis/format/converter/image_splitter.rb, line 48 def convert(source, target, format, opts = {}) super FileUtils.mkpath(File.dirname(target)) if self.class.multipage?(format) target = File.join(File.dirname(target), "#{File.basename(target, '.*')}-%d#{File.extname(target)}") end result = split_image(source, target, format) return nil unless result target end
image_split(_)
click to toggle source
# File lib/libis/format/converter/image_splitter.rb, line 40 def image_split(_) #force usage of this converter end
quiet(v)
click to toggle source
# File lib/libis/format/converter/image_splitter.rb, line 44 def quiet(v) @quiet = !!v end
Private Instance Methods
split_image(source, target, format)
click to toggle source
# File lib/libis/format/converter/image_splitter.rb, line 65 def split_image(source, target, format) MiniMagick::Tool::Convert.new do |convert| convert.quiet if @quiet convert << source convert.format(format) convert << target debug "ImageMagick command: '#{convert.command.join(' ')}'" end target end