Class: Pdfrb::Model::Type::EncryptionStandard
Overview
Standard security handler encryption dict (s7.6.3.4).
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
#aes? ⇒ Boolean
25
26
27
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 25
def aes?
(version || 0) >= 4
end
|
#allow_annotations? ⇒ Boolean
58
59
60
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 58
def allow_annotations?
permissions&.anybits?(32)
end
|
#allow_assemble? ⇒ Boolean
70
71
72
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 70
def allow_assemble?
permissions&.anybits?(1024)
end
|
#allow_copy? ⇒ Boolean
54
55
56
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 54
def allow_copy?
permissions&.anybits?(16)
end
|
66
67
68
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 66
def
permissions&.anybits?(512)
end
|
#allow_fill_in? ⇒ Boolean
62
63
64
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 62
def allow_fill_in?
permissions&.anybits?(256)
end
|
#allow_modify_contents? ⇒ Boolean
50
51
52
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 50
def allow_modify_contents?
permissions&.anybits?(8)
end
|
#allow_print? ⇒ Boolean
46
47
48
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 46
def allow_print?
permissions&.anybits?(4)
end
|
#allow_print_high_res? ⇒ Boolean
74
75
76
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 74
def allow_print_high_res?
permissions&.anybits?(2048)
end
|
18
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 18
def encrypt_metadata?; self[:EncryptMetadata]; end
|
10
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 10
def filter; self[:Filter]; end
|
#key_length_bytes ⇒ Object
21
22
23
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 21
def key_length_bytes
((length || 40) / 8)
end
|
14
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 14
def length; self[:Length]; end
|
41
42
43
44
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 41
def metadata_encrypted?
value = encrypt_metadata?
value.nil? || !!value
end
|
#owner_password ⇒ Object
16
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 16
def owner_password; self[:O]; end
|
#permissions ⇒ Object
15
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 15
def permissions; self[:P]; end
|
#public_key? ⇒ Boolean
33
34
35
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 33
def public_key?
filter&.to_sym == :AdobePubSec
end
|
#rc4? ⇒ Boolean
29
30
31
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 29
def rc4?
(version || 0) < 4
end
|
#recipient_info ⇒ Object
19
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 19
def recipient_info; self[:Recipients]; end
|
13
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 13
def revision; self[:R]; end
|
#standard? ⇒ Boolean
37
38
39
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 37
def standard?
filter&.to_sym == :Standard
end
|
#sub_filter ⇒ Object
11
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 11
def sub_filter; self[:SubFilter]; end
|
#user_password ⇒ Object
17
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 17
def user_password; self[:U]; end
|
12
|
# File 'lib/pdfrb/model/type/encryption_standard.rb', line 12
def version; self[:V]; end
|