class AmazonTRP::Document

Attributes

blocks[R]
pageBlocks[R]
pages[R]

Public Class Methods

new(responsePages) click to toggle source
# File lib/amazon-textract-parser-ruby.rb, line 536
def initialize(responsePages)
  @responsePages = responsePages.is_a?(Array) ? responsePages : [responsePages]
  @pages = []
  _parse()
end

Public Instance Methods

_parse() click to toggle source
# File lib/amazon-textract-parser-ruby.rb, line 576
def _parse
  @responseDocumentPages, @blockMap = _parseDocumentPagesAndBlockMap()
  @responseDocumentPages.each do |documentPage|
    page = Page.new(documentPage[:blocks], @blockMap)
    @pages.append(page)
  end
end
_parseDocumentPagesAndBlockMap() click to toggle source
# File lib/amazon-textract-parser-ruby.rb, line 550
def _parseDocumentPagesAndBlockMap
  blockMap = {}
  
  documentPages = []
  documentPage = nil
  @responsePages.each do |page|
    unless page[:blocks].nil?
      page[:blocks].each do |block|
        if block.has_key?(:block_type) && block.has_key?(:id)
          blockMap[block[:id]] = block
        end
        
        if block[:block_type] == 'PAGE'
          documentPages.append({:blocks => documentPage}) if documentPage
          documentPage = []
          documentPage.append(block)
        else
          documentPage.append(block)
        end
      end
    end
  end
  documentPages.append({:blocks => documentPage}) if documentPage
  return documentPages, blockMap
end
getBlockById(blockId) click to toggle source
# File lib/amazon-textract-parser-ruby.rb, line 584
def getBlockById(blockId)
  return @blockMap[blockId] if @blockMap && @blockMap.has_key?(blockId)
  return nil
end
to_s() click to toggle source
# File lib/amazon-textract-parser-ruby.rb, line 542
def to_s
  s = "\nDocument:\n"
  @pages.each do |p|
    s = s + p.to_s + "\n\n"
  end
  return s
end