Module: Mindee::V2::FileOperation::Crop
- Defined in:
- lib/mindee.rb,
lib/mindee/v2/file_operation/crop.rb
Overview
Crop operations.
Class Method Summary collapse
-
.extract_crops(input_source, crops) ⇒ CropFiles
Extracts individual receipts from multi-receipts documents.
-
.extract_single_crop(input_source, crop) ⇒ ExtractedImage
Extracts a single crop as complete PDFs from the document.
Class Method Details
.extract_crops(input_source, crops) ⇒ CropFiles
Extracts individual receipts from multi-receipts documents.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/mindee/v2/file_operation/crop.rb', line 26 def self.extract_crops(input_source, crops) if crops.nil? || crops.empty? raise Mindee::Error::MindeeError, 'No possible candidates found for Crop extraction.' end polygons = Array.new(input_source.page_count) { [] } crops.each do |crop| polygons[crop.location.page] << crop.location.polygon end images = [] # @type var images: Array[Image::ExtractedImage] polygons.each_with_index do |page_polygons, page_index| extracted = Mindee::Image::ImageExtractor.extract_multiple_images_from_source( input_source, page_index, page_polygons ) images.concat(extracted) end CropFiles.new(images) end |
.extract_single_crop(input_source, crop) ⇒ ExtractedImage
Extracts a single crop as complete PDFs from the document.
13 14 15 16 17 18 |
# File 'lib/mindee/v2/file_operation/crop.rb', line 13 def self.extract_single_crop(input_source, crop) polygons = [crop.polygon] Mindee::Image::ImageExtractor.extract_multiple_images_from_source( input_source, crop.page, polygons ).first end |