# File lib/pdf/reader.rb, line 114
    def parse(io, receiver, opts = {})
      ohash    = ObjectHash.new(io)

      if ohash.trailer[:Encrypt]
        raise ::PDF::Reader::UnsupportedFeatureError, 'PDF::Reader cannot read encrypted PDF files'
      end

      options = {:pages => true, :raw_text => false, :metadata => true}
      options.merge!(opts)

      strategies.each do |s|
        s.new(ohash, receiver, options).process
      end

      self
    end