sig
  type encryption_method = PDF40bit | PDF128bit | AES128bit of bool
  type encryption = {
    encryption_method : Pdfwrite.encryption_method;
    owner_password : string;
    user_password : string;
    permissions : Pdfcrypt.permission list;
  }
  val pdf_to_output :
    ?linearize:bool ->
    ?encrypt:Pdfwrite.encryption -> Pdf.pdfdoc -> Io.output -> unit
  val pdf_to_channel :
    ?linearize:bool ->
    ?encrypt:Pdfwrite.encryption ->
    ?mk_id:bool -> Pdf.pdfdoc -> Pervasives.out_channel -> unit
  val pdf_to_file :
    ?linearize:bool ->
    ?encrypt:Pdfwrite.encryption ->
    ?mk_id:bool -> Pdf.pdfdoc -> string -> unit
  val string_of_pdf : Pdf.pdfobject -> string
  val pagetree_make_explicit : (Pdf.pdfdoc -> Pdf.pdfdoc) Pervasives.ref
end