Class: HexaPDF::XRefSection::Entry
- Inherits:
-
Struct
- Object
- Struct
- HexaPDF::XRefSection::Entry
- Defined in:
- lib/hexapdf/xref_section.rb
Overview
One entry of a cross-reference section or stream.
An entry has the attributes type
, oid
, gen
, pos
and objstm
and can be created like this:
Entry.new(type, oid, gen, pos, objstm) -> entry
The type
attribute can be:
- :free
-
Denotes a free entry.
- :in_use
-
A used entry that resides in the body of the PDF file. The
pos
attribute defines the position in the file at which the object can be found. - :compressed
-
A used entry that resides in an object stream. The
objstm
attribute contains the reference to the object stream in which the object can be found and thepos
attribute contains the index into the object stream.Objects in an object stream always have a generation number of 0!
See: PDF2.0 s7.5.4, s7.5.8
Instance Attribute Summary collapse
-
#gen ⇒ Object
Returns the value of attribute gen.
-
#objstm ⇒ Object
Returns the value of attribute objstm.
-
#oid ⇒ Object
Returns the value of attribute oid.
-
#pos ⇒ Object
Returns the value of attribute pos.
-
#type ⇒ Object
Returns the value of attribute type.
Instance Method Summary collapse
Instance Attribute Details
#gen ⇒ Object
Returns the value of attribute gen
73 74 75 |
# File 'lib/hexapdf/xref_section.rb', line 73 def gen @gen end |
#objstm ⇒ Object
Returns the value of attribute objstm
73 74 75 |
# File 'lib/hexapdf/xref_section.rb', line 73 def objstm @objstm end |
#oid ⇒ Object
Returns the value of attribute oid
73 74 75 |
# File 'lib/hexapdf/xref_section.rb', line 73 def oid @oid end |
#pos ⇒ Object
Returns the value of attribute pos
73 74 75 |
# File 'lib/hexapdf/xref_section.rb', line 73 def pos @pos end |
#type ⇒ Object
Returns the value of attribute type
73 74 75 |
# File 'lib/hexapdf/xref_section.rb', line 73 def type @type end |
Instance Method Details
#compressed? ⇒ Boolean
82 83 84 |
# File 'lib/hexapdf/xref_section.rb', line 82 def compressed? type == :compressed end |
#free? ⇒ Boolean
74 75 76 |
# File 'lib/hexapdf/xref_section.rb', line 74 def free? type == :free end |
#in_use? ⇒ Boolean
78 79 80 |
# File 'lib/hexapdf/xref_section.rb', line 78 def in_use? type == :in_use end |
#to_s ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/hexapdf/xref_section.rb', line 86 def to_s case type when :free then "xref #{oid},#{gen} type=free" when :in_use then "xref #{oid},#{gen} type=normal pos=#{pos}" when :compressed then "xref #{oid},#{gen} type=compressed objstm=#{objstm},0 index=#{pos}" end end |