Class: PDF::Reader::ObjectStream
- Inherits:
-
Object
- Object
- PDF::Reader::ObjectStream
- Defined in:
- lib/pdf/reader/object_stream.rb
Overview
provides a wrapper around a PDF stream object that contains other objects in it. This is done for added compression and is described as an "Object Stream" in the spec.
Instance Method Summary collapse
- #[](objid) ⇒ Object
-
#initialize(stream) ⇒ ObjectStream
constructor
A new instance of ObjectStream.
- #size ⇒ Object
Constructor Details
#initialize(stream) ⇒ ObjectStream
Returns a new instance of ObjectStream.
12 13 14 15 16 17 |
# File 'lib/pdf/reader/object_stream.rb', line 12 def initialize(stream) @dict = stream.hash #: Hash[Symbol, untyped] @data = stream.unfiltered_data #: String @offsets = nil #: Hash[Integer, Integer] | nil @buffer = nil #: PDF::Reader::Buffer | nil end |
Instance Method Details
#[](objid) ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/pdf/reader/object_stream.rb', line 29 def [](objid) if offsets[objid].nil? nil else buf = PDF::Reader::Buffer.new(StringIO.new(@data), :seek => offsets[objid]) parser = PDF::Reader::Parser.new(buf) parser.parse_token end end |
#size ⇒ Object
40 41 42 |
# File 'lib/pdf/reader/object_stream.rb', line 40 def size TypeCheck.cast_to_int!(@dict[:N]) end |