Class: Pdfrb::Model::Type::Metadata

Inherits:
Cos::Stream show all
Defined in:
lib/pdfrb/model/type/metadata.rb

Overview

Metadata stream (s14.3.2, PDF 2.0 App Note 003). XMP payload. Has /Type /Metadata, /Subtype /XML.

Instance Attribute Summary

Attributes inherited from Cos::Stream

#stream

Attributes inherited from Object

#document, #gen, #oid, #value

Instance Method Summary collapse

Methods inherited from Cos::Stream

#decoded_stream, #encoded_stream=, #initialize

Methods inherited from Cos::Dictionary

#[], #[]=, arlington_available?, arlington_default, arlington_key_to_symbol, arlington_loaded_for?, arlington_mark_loaded, arlington_object, arlington_one_type_to_ruby, arlington_required?, arlington_types_to_ruby, arlington_version, define_field, define_field_from_arlington, #delete, #each, each_field, #each_raw, #empty?, field, #initialize, #key?, #keys, lookup_type, own_fields, #pdf_type, register_type, type_map, #validate

Methods inherited from Object

#==, define_type, #deref, #indirect?, #initialize, #must_be_indirect?, #pdf_type, pdf_type

Constructor Details

This class inherits a constructor from Pdfrb::Model::Cos::Stream

Instance Method Details

#associated_filesObject



15
# File 'lib/pdfrb/model/type/metadata.rb', line 15

def associated_files; self[:AF]; end

#filterObject



14
# File 'lib/pdfrb/model/type/metadata.rb', line 14

def filter; self[:Filter]; end

#subtypeObject



13
# File 'lib/pdfrb/model/type/metadata.rb', line 13

def subtype; self[:Subtype]; end

#typeObject



12
# File 'lib/pdfrb/model/type/metadata.rb', line 12

def type; self[:Type]; end

#xml?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/pdfrb/model/type/metadata.rb', line 17

def xml?
  subtype&.to_sym == :XML
end

#xmp?Boolean

Returns:

  • (Boolean)


21
22
23
24
25
26
# File 'lib/pdfrb/model/type/metadata.rb', line 21

def xmp?
  return false unless xml? && stream

  data = stream.to_s
  data.include?("<x:xmpmeta") || data.include?("xmlns:x=")
end

#xmp_packet?Boolean

Returns:

  • (Boolean)


28
29
30
31
32
# File 'lib/pdfrb/model/type/metadata.rb', line 28

def xmp_packet?
  return false unless stream

  stream.to_s.include?("<?xpacket")
end

#xmp_stringObject



34
35
36
37
38
# File 'lib/pdfrb/model/type/metadata.rb', line 34

def xmp_string
  return nil unless stream

  stream.to_s.force_encoding(Encoding::UTF_8)
end