`sig
val crypt_debug : bool Stdlib.ref
type permission =
NoEdit
| NoPrint
| NoCopy
| NoAnnot
| NoForms
| NoExtract
| NoAssemble
| NoHqPrint
val decrypt_pdf :
?keyfromowner:string ->
string -> Pdf.t -> Pdf.t option * Pdfcrypt.permission list
val decrypt_pdf_owner : string -> Pdf.t -> Pdf.t option
val is_encrypted : Pdf.t -> bool
val recrypt_pdf : ?renumber:bool -> Pdf.t -> string -> Pdf.t
val encrypt_pdf_40bit :
string -> string -> Pdfcrypt.permission list -> Pdf.t -> Pdf.t
val encrypt_pdf_128bit :
string -> string -> Pdfcrypt.permission list -> Pdf.t -> Pdf.t
val encrypt_pdf_AES :
bool -> string -> string -> Pdfcrypt.permission list -> Pdf.t -> Pdf.t
val encrypt_pdf_AES256 :
bool -> string -> string -> Pdfcrypt.permission list -> Pdf.t -> Pdf.t
val encrypt_pdf_AES256ISO :
bool -> string -> string -> Pdfcrypt.permission list -> Pdf.t -> Pdf.t
val string_of_pdf : (Pdf.pdfobject -> string) Stdlib.ref
val decrypt_single_stream :
string option ->
string option -> Pdf.t -> int -> int -> Pdf.pdfobject -> Pdf.pdfobject
val get_encryption_values :
Pdf.t ->
Pdfcryptprimitives.encryption * string * string * int32 * string *
string option * string option
val banlist_of_p : int32 -> Pdfcrypt.permission list
end`