Sha256: 1095aaeb2ad5662190a22fe61d0909424ec6d21b87ba729cf3e7aeddb9d92457

Contents?: true

Size: 659 Bytes

Versions: 8

Compression:

Stored size: 659 Bytes

Contents

module IiifPrint
  module SplitPdfs
    # @abstract
    #
    # The purpose of this class is to split the PDF into constituent png files.
    #
    # @see #each
    class PagesToPngsSplitter < BaseSplitter
      self.image_extension = 'png'

      private

      def gsdevice
        color, _channels, bpc = pdfinfo.color
        device = nil
        # 1 Bit Grayscale, if applicable:
        device = 'pngmonod' if color == 'gray' && bpc == 1
        # 8 Bit Grayscale, if applicable:
        device = 'pnggray' if color == 'gray' && bpc > 1
        # otherwise 24 Bit RGB:
        device = 'png16m' if device.nil?
        device
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
iiif_print-3.0.4 lib/iiif_print/split_pdfs/pages_to_pngs_splitter.rb
iiif_print-3.0.3 lib/iiif_print/split_pdfs/pages_to_pngs_splitter.rb
iiif_print-3.0.2 lib/iiif_print/split_pdfs/pages_to_pngs_splitter.rb
iiif_print-3.0.1 lib/iiif_print/split_pdfs/pages_to_pngs_splitter.rb
iiif_print-3.0.0 lib/iiif_print/split_pdfs/pages_to_pngs_splitter.rb
iiif_print-2.0.1 lib/iiif_print/split_pdfs/pages_to_pngs_splitter.rb
iiif_print-2.0.0 lib/iiif_print/split_pdfs/pages_to_pngs_splitter.rb
iiif_print-1.1.0 lib/iiif_print/split_pdfs/pages_to_pngs_splitter.rb