Class: Pdfrb::Model::Type::Field
Instance Attribute Summary
Attributes inherited from Object
#document, #gen, #oid, #value
Instance Method Summary
collapse
#[], #[]=, 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
Instance Method Details
#additional_actions ⇒ Object
18
|
# File 'lib/pdfrb/model/type/form_field.rb', line 18
def additional_actions; self[:AA]; end
|
#alternate_field_name ⇒ Object
11
|
# File 'lib/pdfrb/model/type/form_field.rb', line 11
def alternate_field_name; self[:TU]; end
|
#appearance_characteristics ⇒ Object
19
|
# File 'lib/pdfrb/model/type/form_field.rb', line 19
def appearance_characteristics; self[:MK]; end
|
21
|
# File 'lib/pdfrb/model/type/form_field.rb', line 21
def button?; field_type&.to_sym == :Btn; end
|
#choice? ⇒ Boolean
23
|
# File 'lib/pdfrb/model/type/form_field.rb', line 23
def choice?; field_type&.to_sym == :Ch; end
|
#default_value ⇒ Object
14
|
# File 'lib/pdfrb/model/type/form_field.rb', line 14
def default_value; self[:DV]; end
|
#field_name ⇒ Object
10
|
# File 'lib/pdfrb/model/type/form_field.rb', line 10
def field_name; self[:T]; end
|
#field_type ⇒ Object
9
|
# File 'lib/pdfrb/model/type/form_field.rb', line 9
def field_type; self[:FT]; end
|
#field_value ⇒ Object
13
|
# File 'lib/pdfrb/model/type/form_field.rb', line 13
def field_value; self[:V]; end
|
17
|
# File 'lib/pdfrb/model/type/form_field.rb', line 17
def flags; self[:Ff] || 0; end
|
#fully_qualified_name ⇒ Object
58
59
60
61
62
63
64
65
66
67
68
69
|
# File 'lib/pdfrb/model/type/form_field.rb', line 58
def fully_qualified_name
parts = []
cur = self
while cur
parts << cur.field_name if cur.field_name
parent_ref = cur.parent
break unless parent_ref && document
cur = document.object(parent_ref)
end
parts.reverse.join(".")
end
|
#has_kids? ⇒ Boolean
30
31
32
|
# File 'lib/pdfrb/model/type/form_field.rb', line 30
def has_kids?
kids && (!kids.is_a?(Array) || !kids.empty?)
end
|
15
|
# File 'lib/pdfrb/model/type/form_field.rb', line 15
def kids; self[:Kids]; end
|
#mapping_field_name ⇒ Object
12
|
# File 'lib/pdfrb/model/type/form_field.rb', line 12
def mapping_field_name; self[:TM]; end
|
#no_export? ⇒ Boolean
28
|
# File 'lib/pdfrb/model/type/form_field.rb', line 28
def no_export?; flags & 4 != 0; end
|
16
|
# File 'lib/pdfrb/model/type/form_field.rb', line 16
def parent; self[:Parent]; end
|
#read_only? ⇒ Boolean
26
|
# File 'lib/pdfrb/model/type/form_field.rb', line 26
def read_only?; flags & 1 != 0; end
|
#required? ⇒ Boolean
27
|
# File 'lib/pdfrb/model/type/form_field.rb', line 27
def required?; flags & 2 != 0; end
|
#resolved_parent ⇒ Object
38
39
40
41
42
43
|
# File 'lib/pdfrb/model/type/form_field.rb', line 38
def resolved_parent
ref = parent
return nil unless ref && document
document.object(ref)
end
|
#root_field ⇒ Object
45
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/pdfrb/model/type/form_field.rb', line 45
def root_field
cur = self
while cur&.parent
parent_ref = cur.parent
cur = if parent_ref.is_a?(Pdfrb::Model::Reference) && document
document.object(parent_ref)
else
parent_ref
end
end
cur
end
|
#signature? ⇒ Boolean
24
|
# File 'lib/pdfrb/model/type/form_field.rb', line 24
def signature?; field_type&.to_sym == :Sig; end
|
#terminal_field? ⇒ Boolean
34
35
36
|
# File 'lib/pdfrb/model/type/form_field.rb', line 34
def terminal_field?
!has_kids?
end
|
#text? ⇒ Boolean
22
|
# File 'lib/pdfrb/model/type/form_field.rb', line 22
def text?; field_type&.to_sym == :Tx; end
|