Method: HexaPDF::Serializer#serialize_hash

Defined in:
lib/hexapdf/serializer.rb

#serialize_hash(obj) ⇒ Object

Serializes a Hash object (i.e. a PDF dictionary object).

See: PDF2.0 s7.3.7



260
261
262
263
264
265
266
267
268
269
270
271
# File 'lib/hexapdf/serializer.rb', line 260

def serialize_hash(obj)
  str = +"<<"
  obj.each do |k, v|
    next if v.nil? || (v.respond_to?(:null?) && v.null?)
    str << serialize_symbol(k)
    tmp = __serialize(v)
    str << " " unless BYTE_IS_DELIMITER[tmp.getbyte(0)] ||
      BYTE_IS_DELIMITER[str.getbyte(-1)]
    str << tmp
  end
  str << ">>"
end