Class: Pdfrb::Model::Type::Field
Instance Attribute Summary
Attributes inherited from Object
#document, #gen, #oid, #value
Instance Method Summary
collapse
#[], #[]=, apply_arlington_definition, arlington_default, arlington_key_to_symbol, arlington_one_type_to_ruby, arlington_required?, arlington_scalar, 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, merged_field, own_fields, #pdf_type, register_type, type_map, #validate
#arlington_object
Methods inherited from Object
#==, define_type, #deref, #indirect?, #initialize, #must_be_indirect?, #pdf_type, pdf_type, #ref
Instance Method Details
#additional_actions ⇒ Object
35
|
# File 'lib/pdfrb/model/type/form_field.rb', line 35
def additional_actions; self[:AA]; end
|
#alternate_field_name ⇒ Object
#appearance_characteristics ⇒ Object
36
|
# File 'lib/pdfrb/model/type/form_field.rb', line 36
def appearance_characteristics; self[:MK]; end
|
38
|
# File 'lib/pdfrb/model/type/form_field.rb', line 38
def button?; field_type&.to_sym == :Btn; end
|
#choice? ⇒ Boolean
40
|
# File 'lib/pdfrb/model/type/form_field.rb', line 40
def choice?; field_type&.to_sym == :Ch; end
|
#field_type ⇒ Object
10
|
# File 'lib/pdfrb/model/type/form_field.rb', line 10
def field_type; self[:FT]; end
|
34
|
# File 'lib/pdfrb/model/type/form_field.rb', line 34
def flags; self[:Ff] || 0; end
|
#fully_qualified_name ⇒ Object
75
76
77
78
79
80
81
82
83
84
85
86
|
# File 'lib/pdfrb/model/type/form_field.rb', line 75
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
47
48
49
|
# File 'lib/pdfrb/model/type/form_field.rb', line 47
def has_kids?
kids && (!kids.is_a?(Array) || !kids.empty?)
end
|
32
|
# File 'lib/pdfrb/model/type/form_field.rb', line 32
def kids; self[:Kids]; end
|
#no_export? ⇒ Boolean
45
|
# File 'lib/pdfrb/model/type/form_field.rb', line 45
def no_export?; flags & 4 != 0; end
|
33
|
# File 'lib/pdfrb/model/type/form_field.rb', line 33
def parent; self[:Parent]; end
|
#read_only? ⇒ Boolean
43
|
# File 'lib/pdfrb/model/type/form_field.rb', line 43
def read_only?; flags & 1 != 0; end
|
#required? ⇒ Boolean
44
|
# File 'lib/pdfrb/model/type/form_field.rb', line 44
def required?; flags & 2 != 0; end
|
#resolved_parent ⇒ Object
55
56
57
58
59
60
|
# File 'lib/pdfrb/model/type/form_field.rb', line 55
def resolved_parent
ref = parent
return nil unless ref && document
document.object(ref)
end
|
#root_field ⇒ Object
62
63
64
65
66
67
68
69
70
71
72
73
|
# File 'lib/pdfrb/model/type/form_field.rb', line 62
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
41
|
# File 'lib/pdfrb/model/type/form_field.rb', line 41
def signature?; field_type&.to_sym == :Sig; end
|
#terminal_field? ⇒ Boolean
51
52
53
|
# File 'lib/pdfrb/model/type/form_field.rb', line 51
def terminal_field?
!has_kids?
end
|
#text? ⇒ Boolean
39
|
# File 'lib/pdfrb/model/type/form_field.rb', line 39
def text?; field_type&.to_sym == :Tx; end
|