parse (PDF::Reader)

    # File lib/pdf/reader.rb, line 123
      def parse (io, receiver, opts = {})
        @buffer   = Buffer.new(io)
        @xref     = XRef.new(@buffer)
        @parser   = Parser.new(@buffer, @xref)
        @content  = (receiver == Explore ? Explore : Content).new(receiver, @xref)

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

        trailer = @xref.load
        raise PDF::Reader::UnsupportedFeatureError, 'PDF::Reader cannot read encrypted PDF files' if trailer[:Encrypt]
        @content.metadata(@xref.object(trailer[:Root]), @xref.object(trailer[:Info])) if options[:metadata]
        @content.document(@xref.object(trailer[:Root])) if options[:pages]
        self
      end