`sig
val pdf_of_input :
?revision:int -> string option -> string option -> Pdfio.input -> Pdf.t
val pdf_of_input_lazy :
?revision:int -> string option -> string option -> Pdfio.input -> Pdf.t
val pdf_of_channel :
?revision:int ->
?source:string ->
string option -> string option -> Stdlib.in_channel -> Pdf.t
val pdf_of_channel_lazy :
?revision:int ->
?source:string ->
string option -> string option -> Stdlib.in_channel -> Pdf.t
val pdf_of_file :
?revision:int -> string option -> string option -> string -> Pdf.t
val read_debug : bool Stdlib.ref
val error_on_malformed : bool Stdlib.ref
val debug_always_treat_malformed : bool Stdlib.ref
val revisions : Pdfio.input -> int
val what_encryption : Pdf.t -> Pdfwrite.encryption_method option
val permissions : Pdf.t -> Pdfcrypt.permission list
val is_linearized : Pdfio.input -> bool
val read_header : Pdfio.input -> int * int
val getuntil_white_or_delimiter : Pdfio.input -> char list
val getuntil_white_or_delimiter_string : Pdfio.input -> string
val getuntil : bool -> (char -> bool) -> Pdfio.input -> char list
val ignoreuntil : bool -> (char -> bool) -> Pdfio.input -> unit
val dropwhite : Pdfio.input -> unit
val lex_name : Pdfio.input -> Pdfgenlex.t
val lex_number : Pdfio.input -> Pdfgenlex.t
val lex_string : Pdfio.input -> Pdfgenlex.t
val lex_hexstring : Pdfio.input -> Pdfgenlex.t
val lex_comment : Pdfio.input -> Pdfgenlex.t
val lex_dictionary : bool -> Pdfio.input -> Pdfgenlex.t list
val lex_stream_data : Pdfio.input -> int -> bool -> Pdfgenlex.t
val parse : ?failure_is_ok:bool -> Pdfgenlex.t list -> int * Pdf.pdfobject
val parse_single_object : string -> Pdf.pdfobject
val string_of_lexeme : Pdfgenlex.t -> string
val print_lexeme : Pdfgenlex.t -> unit
val endpage : (Pdf.t -> int) Stdlib.ref
end`