Module: Mindee::V2::FileOperation::Split

Defined in:
lib/mindee.rb,
lib/mindee/v2/file_operations/split.rb

Overview

Split operations.

Class Method Summary collapse

Class Method Details

.extract_single_split(input_source, split) ⇒ ExtractedPDF

Extracts a single split as a complete PDF from the document.

Parameters:

  • input_source (LocalInputSource)

    Input source to split.

  • split (Array<Integer>)

    List of pages to keep.

Returns:

  • (ExtractedPDF)

    Extracted PDF



13
14
15
# File 'lib/mindee/v2/file_operations/split.rb', line 13

def self.extract_single_split(input_source, split)
  extract_splits(input_source, [split]).first
end

.extract_splits(input_source, splits) ⇒ SplitFiles

Extracts splits as complete PDFs from the document.

Parameters:

  • input_source (LocalInputSource)

    Input source to split.

  • splits (Array<Array<Integer>>)

    List of sub-lists of pages to keep.

Returns:

Raises:

  • (MindeeError)

    if no indexes are provided.



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/mindee/v2/file_operations/split.rb', line 23

def self.extract_splits(input_source, splits)
  raise Mindee::Error::MindeeError, 'No indexes provided.' if splits.nil? || splits.empty?

  pdf_extractor = Mindee::PDF::PDFExtractor.new(input_source)

  page_groups = splits.map do |split|
    (split[0]..split[1]).to_a
  end

  SplitFiles.new(pdf_extractor.extract_sub_documents(page_groups))
end