# File lib/pdf/reader/object_hash.rb, line 37 def initialize(input) if input.respond_to?(:seek) && input.respond_to?(:read) @io = input elsif File.file?(input.to_s) if File.respond_to?(:binread) input = File.binread(input.to_s) else input = File.read(input.to_s) end @io = StringIO.new(input) else raise ArgumentError, "input must be an IO-like object or a filename" end @pdf_version = read_version @xref = PDF::Reader::XRef.new(@io) @trailer = @xref.trailer end