class Libis::Format::Converter::PdfAssembler

noinspection DuplicatedCode

Public Class Methods

category() click to toggle source
# File lib/libis/format/converter/pdf_assembler.rb, line 23
def self.category
  :assembler
end
input_types() click to toggle source
# File lib/libis/format/converter/pdf_assembler.rb, line 14
def self.input_types
  [:PDF]
end
output_types(format = nil) click to toggle source
# File lib/libis/format/converter/pdf_assembler.rb, line 18
def self.output_types(format = nil)
  return [] unless input_types.include?(format) if format
  [:PDF]
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/pdf_assembler.rb, line 31
def convert(source, target, format, opts = {})
  super

  result = if source.is_a? Array
             assemble(source, target)
           elsif File.directory?(source)
             source_list = Dir[File.join(source, '**', '*')].reject {|p| File.directory? p}
             assemble(source_list, target)
           else
             assemble([source], target)
           end
  return nil unless result

  result
end
pdf_assemnble(_) click to toggle source
# File lib/libis/format/converter/pdf_assembler.rb, line 27
def pdf_assemnble(_)
  #force usage of this converter
end

Private Instance Methods

assemble(source, target) click to toggle source
# File lib/libis/format/converter/pdf_assembler.rb, line 49
def assemble(source, target)

  result = Libis::Format::Tool::PdfMerge.run(source, target)

  unless result[:err].empty?
    error("PdfMerge encountered errors:\n%s", result[:err].join(join("\n")))
    return nil
  end

  target
end