sig
type stream =
Got of Utility.bytestream
| ToGet of Pdfio.input * int64 * int64
type pdfobject =
Null
| Boolean of bool
| Integer of int
| Real of float
| String of string
| Name of string
| Array of Pdf.pdfobject list
| Dictionary of (string * Pdf.pdfobject) list
| Stream of (Pdf.pdfobject * Pdf.stream) Pervasives.ref
| Indirect of int
type pdfobjects
type pdfdoc = {
mutable major : int;
mutable minor : int;
mutable root : int;
mutable objects : Pdf.pdfobjects;
mutable trailerdict : Pdf.pdfobject;
}
val empty : unit -> Pdf.pdfdoc
exception PDFError of string
val getstream : Pdf.pdfobject -> unit
val getnum : Pdf.pdfobject -> float
val parse_rectangle : Pdf.pdfobject -> float * float * float * float
val parse_matrix :
Pdf.pdfdoc -> string -> Pdf.pdfobject -> Transform.transform_matrix
val make_matrix : Transform.transform_matrix -> Pdf.pdfobject
val lookup_obj : Pdf.pdfdoc -> int -> Pdf.pdfobject
val lookup_fail :
string -> Pdf.pdfdoc -> string -> Pdf.pdfobject -> Pdf.pdfobject
val lookup_exception :
exn -> Pdf.pdfdoc -> string -> Pdf.pdfobject -> Pdf.pdfobject
val lookup_direct :
Pdf.pdfdoc -> string -> Pdf.pdfobject -> Pdf.pdfobject option
val lookup_direct_orelse :
Pdf.pdfdoc -> string -> string -> Pdf.pdfobject -> Pdf.pdfobject option
val remove_dict_entry : Pdf.pdfobject -> string -> Pdf.pdfobject
val replace_dict_entry :
Pdf.pdfobject -> string -> Pdf.pdfobject -> Pdf.pdfobject
val add_dict_entry :
Pdf.pdfobject -> string -> Pdf.pdfobject -> Pdf.pdfobject
val direct : Pdf.pdfdoc -> Pdf.pdfobject -> Pdf.pdfobject
val objiter : (int -> Pdf.pdfobject -> unit) -> Pdf.pdfdoc -> unit
val objiter_gen :
(int -> int -> Pdf.pdfobject -> unit) -> Pdf.pdfdoc -> unit
val objmap : (Pdf.pdfobject -> Pdf.pdfobject) -> Pdf.pdfdoc -> unit
val objcard : Pdf.pdfdoc -> int
val addobj : Pdf.pdfdoc -> Pdf.pdfobject -> int
val addobj_given_num : Pdf.pdfdoc -> int * Pdf.pdfobject -> unit
val map_stream :
(Pdf.pdfobject -> Pdf.pdfobject) -> Pdf.pdfdoc -> Pdf.pdfdoc
val iter_stream : (Pdf.pdfobject -> unit) -> Pdf.pdfdoc -> unit
val renumber_pdfs : Pdf.pdfdoc list -> Pdf.pdfdoc list
val remove_unreferenced : Pdf.pdfdoc -> unit
val unique_key : string -> Pdf.pdfobject -> string
type objectdata = Parsed of Pdf.pdfobject | ToParse
val changes : Pdf.pdfdoc -> (int, int) Hashtbl.t
val renumber : (int, int) Hashtbl.t -> Pdf.pdfdoc -> Pdf.pdfdoc
val is_whitespace : char -> bool
val recurse_dict :
(Pdf.pdfobject -> Pdf.pdfobject) ->
(string * Pdf.pdfobject) list -> Pdf.pdfobject
val recurse_array :
(Pdf.pdfobject -> Pdf.pdfobject) -> Pdf.pdfobject list -> Pdf.pdfobject
val bigarray_of_stream : Pdf.pdfobject -> Utility.bytestream
val objnumbers : Pdf.pdfdoc -> int list
val maxobjnum : Pdf.pdfdoc -> int
val objects_of_list :
(int -> Pdf.pdfobject) option ->
(int * (Pdf.objectdata Pervasives.ref * int)) list -> Pdf.pdfobjects
val objects_referenced :
string list ->
(string * Pdf.pdfobject) list -> Pdf.pdfdoc -> Pdf.pdfobject -> int list
val generate_id : Pdf.pdfdoc -> string -> Pdf.pdfobject
val is_delimiter : char -> bool
val page_reference_numbers : Pdf.pdfdoc -> int list
val reference_numbers_of_dict_entry :
Pdf.pdfdoc -> Pdf.pdfobject -> string -> int list
val objects_referenced_and_objects :
string list ->
(string * Pdf.pdfobject) list ->
Pdf.pdfdoc -> Pdf.pdfobject -> (int * Pdf.pdfobject) list
val catalog_of_pdf : Pdf.pdfdoc -> Pdf.pdfobject
val find_indirect : string -> Pdf.pdfobject -> int option
val renumber_object_parsed :
Pdf.pdfdoc -> (int, int) Hashtbl.t -> Pdf.pdfobject -> Pdf.pdfobject
val nametree_lookup :
Pdf.pdfdoc -> Pdf.pdfobject -> Pdf.pdfobject -> Pdf.pdfobject option
val contents_of_nametree :
Pdf.pdfdoc -> Pdf.pdfobject -> (Pdf.pdfobject * Pdf.pdfobject) list
val set_streamobjects : Pdf.pdfdoc -> int list -> unit
val get_streamobjects : Pdf.pdfdoc -> int list
val deep_copy : Pdf.pdfdoc -> Pdf.pdfdoc
end