Class: Pdfrb::Filter::Crypt

Inherits:
Object
  • Object
show all
Includes:
Base
Defined in:
lib/pdfrb/filter/crypt.rb

Overview

Crypt filter (s7.4.16). Routes through the document's security handler when the document is encrypted; pass-through when not. The /Identity name means "no decryption".

Class Method Summary collapse

Class Method Details

.decoder(bytes, parms, document) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/pdfrb/filter/crypt.rb', line 14

def decoder(bytes, parms, document)
  return bytes unless document
  return bytes if parms == :Identity || parms.nil?

  handler = document.security_handler if document.respond_to?(:security_handler)
  return bytes unless handler

  handler.decrypt(bytes, document.current_object_oid)
end

.encoder(bytes, parms, document) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/pdfrb/filter/crypt.rb', line 24

def encoder(bytes, parms, document)
  return bytes unless document
  return bytes if parms == :Identity || parms.nil?

  handler = document.security_handler if document.respond_to?(:security_handler)
  return bytes unless handler

  handler.encrypt(bytes, document.current_object_oid)
end