Sha256: f347630dddc3c22a2d87c2eac9dada85bfa3ba6cf2cc4f6c121dc41a422748c5

Contents?: true

Size: 1.11 KB

Versions: 5

Compression:

Stored size: 1.11 KB

Contents

# encoding: utf-8

require_relative 'base'

require 'libis/format/tool/pdf_metadata'

module Libis
  module Format
    module Converter

      # noinspection DuplicatedCode
      class PdfConverter < Libis::Format::Converter::Base

        def self.input_types
          [:PDF]
        end

        def self.output_types(format = nil)
          return [] unless input_types.include?(format) if format
          [:PDFA]
        end

        def convert(source, target, format, opts = {})
          super

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

          result

        end

        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

      end

    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
libis-format-2.0.5 lib/libis/format/converter/pdf_converter.rb
libis-format-2.0.4 lib/libis/format/converter/pdf_converter.rb
libis-format-2.0.3 lib/libis/format/converter/pdf_converter.rb
libis-format-2.0.2 lib/libis/format/converter/pdf_converter.rb
libis-format-2.0.1 lib/libis/format/converter/pdf_converter.rb