Class: Pdfrb::Model::Type::FileSpecification

Inherits:
Cos::Dictionary show all
Defined in:
lib/pdfrb/model/type/file_specification.rb

Overview

File specification (s7.11.2). /FS, /F, /UF, /EF, /Desc, etc.

Direct Known Subclasses

AFFileSpecification

Instance Attribute Summary

Attributes inherited from Object

#document, #gen, #oid, #value

Instance Method Summary collapse

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::Dictionary

Instance Method Details

#collectionObject



22
# File 'lib/pdfrb/model/type/file_specification.rb', line 22

def collection; self[:Collection]; end

#descriptionObject



21
# File 'lib/pdfrb/model/type/file_specification.rb', line 21

def description; self[:Desc]; end

#dos_fileObject



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

def dos_file; self[:DOS]; end

#effective_embedded_fileObject



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/pdfrb/model/type/file_specification.rb', line 37

def effective_embedded_file
  return nil unless embedded_file

  mapping = if embedded_file.is_a?(Pdfrb::Model::Reference) && document
              document.object(embedded_file)
            else
              embedded_file
            end
  return nil unless mapping.is_a?(Hash)

  ref = mapping[:UF] || mapping[:F]
  return nil unless ref && document

  document.object(ref)
end

#effective_filenameObject



33
34
35
# File 'lib/pdfrb/model/type/file_specification.rb', line 33

def effective_filename
  unicode_file || file || dos_file || mac_file || unix_file
end

#embedded_fileObject



19
# File 'lib/pdfrb/model/type/file_specification.rb', line 19

def embedded_file; self[:EF]; end

#fileObject



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

def file; self[:F]; end

#file_systemObject



11
# File 'lib/pdfrb/model/type/file_specification.rb', line 11

def file_system; self[:FS]; end

#idObject



17
# File 'lib/pdfrb/model/type/file_specification.rb', line 17

def id; self[:ID]; end

#mac_fileObject



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

def mac_file; self[:Mac]; end


20
# File 'lib/pdfrb/model/type/file_specification.rb', line 20

def related_files; self[:RF]; end

#simple?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/pdfrb/model/type/file_specification.rb', line 25

def simple?
  !!(file || unicode_file)
end

#typeObject



23
# File 'lib/pdfrb/model/type/file_specification.rb', line 23

def type; self[:Type]; end

#unicode_fileObject



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

def unicode_file; self[:UF]; end

#unix_fileObject



16
# File 'lib/pdfrb/model/type/file_specification.rb', line 16

def unix_file; self[:Unix]; end

#url?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/pdfrb/model/type/file_specification.rb', line 29

def url?
  file_system&.to_sym == :URL
end

#volatileObject



18
# File 'lib/pdfrb/model/type/file_specification.rb', line 18

def volatile; self[:V]; end