camlpdf

Read, write and modify PDF files
Library camlpdf
Module Pdfread
val read_debug : bool ref
val error_on_malformed : bool ref
val debug_always_treat_malformed : bool ref
val is_newline : char -> bool
val input_line : Pdfio.input -> string
val read_back_until : ( char -> bool ) -> Pdfio.input -> unit
val backline : Pdfio.input -> unit
val get8chars : Pdfio.input -> char list
val read_header_inner : int -> Pdfio.input -> int * int
val read_header : Pdfio.input -> int * int
val find_eof : Pdfio.input -> unit
val string_of_lexeme : Pdfgenlex.t -> string
val print_lexeme : Pdfgenlex.t -> unit
val is_whitespace_or_delimiter : char -> bool
val getuntil : bool -> ( char -> bool ) -> Pdfio.input -> char list
val getuntil_string : bool -> ( char -> bool ) -> Pdfio.input -> string
val ignoreuntil : bool -> ( char -> bool ) -> Pdfio.input -> unit
val ignoreuntilwhite : Pdfio.input -> unit
val dropwhite : Pdfio.input -> unit
val getuntil_white_or_delimiter : Pdfio.input -> char list
val getuntil_white_or_delimiter_string : Pdfio.input -> string
val lex_bool : Pdfio.input -> Pdfgenlex.t
val lex_number : Pdfio.input -> Pdfgenlex.t
val b : Buffer.t
val lex_name : Pdfio.input -> Pdfgenlex.t
val lex_comment : Pdfio.input -> Pdfgenlex.t
val mkchar : char list -> char
val str : Buffer.t
val lex_string : Pdfio.input -> Pdfgenlex.t
val lex_hexstring : Pdfio.input -> Pdfgenlex.t
val lex_keyword : Pdfio.input -> Pdfgenlex.t
val read_chunk : int -> Pdfio.input -> string
val is_malformed : Pdfio.input -> bool
val skip_stream_beginning : Pdfio.input -> unit
val find_endstream : Pdfio.input -> int
val lex_malformed_stream_data : Pdfio.input -> Pdfgenlex.t
val lex_stream_data : Pdfio.input -> int -> bool -> Pdfgenlex.t
val lex_stream : Pdfio.input -> ( Pdfgenlex.t list -> 'a * Pdf.pdfobject ) -> Pdfgenlex.t list -> ( int -> Pdfgenlex.t list ) -> bool -> Pdfgenlex.t
val lex_next : int ref -> int ref -> bool -> Pdfio.input -> Pdfgenlex.t list -> ( Pdfgenlex.t list -> 'a * Pdf.pdfobject ) -> bool -> ( int -> Pdfgenlex.t list ) -> Pdfgenlex.t
val lex_dictionary : Pdfio.input -> Pdfgenlex.t list
val lex_object_at : bool -> Pdfio.input -> bool -> ( Pdfgenlex.t list -> 'a * Pdf.pdfobject ) -> ( int -> Pdfgenlex.t list ) -> Pdfgenlex.t list
type xref =
| XRefPlain of int * int
| XRefStream of int * int
val string_of_xref : xref -> string
val xrefs_table_create : unit -> ( 'a, 'b ) Hashtbl.t
val xrefs_table_add_if_not_present : ( 'a, 'b ) Hashtbl.t -> 'c -> 'd -> unit
val xrefs_table_find : ( 'a, 'b ) Hashtbl.t -> 'c -> 'd option
val xrefs_table_iter : ( 'a -> 'b -> unit ) -> ( 'a, 'b ) Hashtbl.t -> unit
val lex_object : Pdfio.input -> ( int, xref ) Hashtbl.t -> ( Pdfgenlex.t list -> 'a * Pdf.pdfobject ) -> bool -> int -> Pdfgenlex.t list
type partial_parse_element =
| Lexeme of Pdfgenlex.t
| Parsed of Pdf.pdfobject
val print_parseme : partial_parse_element -> unit
val parse_R : Pdfgenlex.t list -> partial_parse_element list
val process_parse_dictionary : partial_parse_element list -> partial_parse_element
val process_parse_array : partial_parse_element list -> partial_parse_element
val parse_to_tree : partial_parse_element list -> partial_parse_element list -> partial_parse_element list
val parse_finish : ?failure_is_ok:bool -> partial_parse_element list -> int * Pdf.pdfobject
val parse : ?failure_is_ok:bool -> Pdfgenlex.t list -> int * Pdf.pdfobject
val parse_single_object : string -> Pdf.pdfobject
val lex_stream_object : Pdfio.input -> ( int, xref ) Hashtbl.t -> ( Pdfgenlex.t list -> 'a * Pdf.pdfobject ) -> bool -> int -> int list -> string option -> string option -> Pdf.t -> int -> (int * (Pdf.objectdata ref * int)) list
val ignore_comments : Pdfio.input -> unit
type xref_line =
| Invalid
| Section of int * int
| Valid of int * int
| Free of int * int
| InObjectStream of int * int
| StreamFree of int * int
| XRefNull
| Finished
val read_xref_line : Pdfio.input -> xref_line
val read_xref : Pdfio.input -> (int * xref) list
val read_xref_line_stream : Pdfio.input -> int -> int -> int -> xref_line
val read_xref_stream : Pdfio.input -> (int * xref) list * int
val get_object : Pdfio.input -> ( int, xref ) Hashtbl.t -> int -> Pdf.pdfobject
val is_linearized : Pdfio.input -> bool
exception Revisions of int
exception BadRevision
val sanitize_trailerdict : int -> (string * Pdf.pdfobject) list -> (string * Pdf.pdfobject) list
val revisions : Pdfio.input -> int
val read_malformed_trailerdict : Pdfio.input -> (string * Pdf.pdfobject) list
val read_malformed_trailerdicts : Pdfio.input -> (string * Pdf.pdfobject) list
val advance_to_integer : Pdfio.input -> unit
val read_malformed_pdf_objects : Pdfio.input -> (int * Pdf.pdfobject) list
val read_malformed_pdf : 'a -> 'b -> Pdfio.input -> Pdf.t
val report_read_error : Pdfio.input -> exn -> exn -> 'a
val read_pdf : int option -> string option -> string option -> bool -> Pdfio.input -> Pdf.t
val pdf_of_channel : ?revision:int -> ?source:string -> string option -> string option -> in_channel -> Pdf.t
val pdf_of_channel_lazy : ?revision:int -> ?source:string -> string option -> string option -> in_channel -> Pdf.t
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_file : ?revision:int -> string option -> string option -> string -> Pdf.t
val what_encryption : Pdf.t -> Pdfwrite.encryption_method option
val permissions : Pdf.t -> Pdfcrypt.permission list