Method: HexaPDF::Type::ObjectStream#parse_stream

Defined in:
lib/hexapdf/type/object_stream.rb

#parse_streamObject

Parses the stream and returns an ObjectStream::Data object that can be used for retrieving the objects defined by this object stream.

The object references are also added to this object stream so that they are included when the object gets written.



113
114
115
116
117
118
119
120
# File 'lib/hexapdf/type/object_stream.rb', line 113

def parse_stream
  return @stream_data if defined?(@stream_data)
  data = stream
  oids, offsets = parse_oids_and_offsets(data)
  @objects ||= {}
  oids.each {|oid| add_object(Reference.new(oid, 0)) }
  @stream_data = Data.new(data, oids, offsets)
end