CAM::PDF::Decrypt - PDF security helper
use CAM::PDF;
my $pdf = CAM::PDF->new($filename);
This class is used invisibly by CAM::PDF whenever it detects that a document is
encrypted. See new(), getPrefs() and setPrefs() in that
module.
- $pkg->new($pdf, $ownerpass, $userpass, $prompt)
- Create and validate a new decryption object. If this fails, it will set
$CAM::PDF::errstr and return undef.
$prompt is a boolean that says whether
the user should be prompted for a password on the command line.
- $self->decode_permissions($field)
- Given a binary encoded permissions string from a PDF document, return the
four individual boolean fields as an array:
print boolean
modify boolean
copy boolean
add boolean
- $self->encode_permissions($print, $modify, $copy, $add)
- Given four booleans, pack them into a single field in the PDF style that
decode_permissions can understand. Returns that scalar.
- $self->set_passwords($doc, $ownerpass, $userpass)
- $self->set_passwords($doc, $ownerpass, $userpass, $permissions)
- Change the PDF passwords to the specified values. When the PDF is output,
it will be encrypted with the new passwords.
PERMISSIONS is an optional scalar of the form that
decode_permissions can understand. If not specified, the existing values
will be retained.
Note: we only support writing using encryption version 1, even
though we can read encryption version 2 as well.
- $self->encrypt($doc, $string)
- Encrypt the scalar using the passwords previously specified.
- $self->decrypt($doc, $string)
- Decrypt the scalar using the passwords previously specified.