Class: Bidi2pdf::TestHelpers::Images::Extractor

Inherits:
Object
  • Object
show all
Includes:
TIFFHelper, PDFReaderUtils
Defined in:
lib/bidi2pdf/test_helpers/images/extractor.rb

Constant Summary

Constants included from TIFFHelper

TIFFHelper::BITS_PER_SAMPLE, TIFFHelper::COMPRESSION, TIFFHelper::COMPRESSION_CCITT_G3, TIFFHelper::COMPRESSION_CCITT_G4, TIFFHelper::COMPRESSION_NONE, TIFFHelper::IMAGE_LENGTH, TIFFHelper::IMAGE_WIDTH, TIFFHelper::INK_SET, TIFFHelper::PHOTOMETRIC_INTERPRETATION, TIFFHelper::PHOTO_BLACK_IS_ZERO, TIFFHelper::PHOTO_RGB, TIFFHelper::PHOTO_SEPARATION, TIFFHelper::PHOTO_WHITE_IS_ZERO, TIFFHelper::PLANAR_CHUNKY, TIFFHelper::PLANAR_CONFIGURATION, TIFFHelper::ROWS_PER_STRIP, TIFFHelper::SAMPLES_PER_PIXEL, TIFFHelper::STRIP_BYTE_COUNTS, TIFFHelper::STRIP_OFFSETS, TIFFHelper::TYPE_LONG, TIFFHelper::TYPE_SHORT

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from TIFFHelper

#pack_tiff, #tiff_header, #tiff_header_for_ccitt, #tiff_header_for_cmyk, #tiff_header_for_gray, #tiff_header_for_rgb

Methods included from PDFReaderUtils

convert_data_to_io, included, pdf_reader_for, pdf_text

Constructor Details

#initialize(pdf_data, logger: Bidi2pdf.logger) ⇒ Extractor

Returns a new instance of Extractor.



15
16
17
18
19
# File 'lib/bidi2pdf/test_helpers/images/extractor.rb', line 15

def initialize(pdf_data, logger: Bidi2pdf.logger)
  reader = pdf_reader_for pdf_data
  @pages = reader.pages
  @logger = logger
end

Instance Attribute Details

#loggerObject (readonly)

Returns the value of attribute logger.



13
14
15
# File 'lib/bidi2pdf/test_helpers/images/extractor.rb', line 13

def logger
  @logger
end

#pagesObject (readonly)

Returns the value of attribute pages.



13
14
15
# File 'lib/bidi2pdf/test_helpers/images/extractor.rb', line 13

def pages
  @pages
end

Instance Method Details

#all_imagesObject



21
22
23
# File 'lib/bidi2pdf/test_helpers/images/extractor.rb', line 21

def all_images
  extracted_images.map { |images| images[:images] }.flatten
end

#image_on_page(page_number, image_number) ⇒ Object



25
26
27
28
29
30
# File 'lib/bidi2pdf/test_helpers/images/extractor.rb', line 25

def image_on_page(page_number, image_number)
  images = images_on_page(page_number)
  return nil if images.empty? || image_number > images.size

  images[image_number - 1]
end

#images_on_page(page_number) ⇒ Object



32
33
34
# File 'lib/bidi2pdf/test_helpers/images/extractor.rb', line 32

def images_on_page(page_number)
  extracted_images.find { |images| images[:page] == page_number }&.dig(:images) || []
end