class Libis::Format::Converter::PdfConverter

noinspection DuplicatedCode

Public Class Methods

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

  result = pdf_to_pdfa(source, target)
  return nil unless result

  result

end
pdf_to_pdfa(source, target) click to toggle source
# File lib/libis/format/converter/pdf_converter.rb, line 33
def pdf_to_pdfa(source, target)

  using_temp(target) do |tmpname|
    result = Libis::Format::Tool::PdfToPdfa.run source, tmpname
    if result[:status] != 0
      error("Pdf/A conversion encountered errors:\n%s", result[:err].join("\n"))
      next nil
    else
      warn("Pdf/A conversion warnings:\n%s", result[:err].join("\n")) unless result[:err].empty?
    end
    tmpname
  end

end