camlpdf

Read, write and modify PDF files
Library camlpdf
Module Pdfpage
type rotation =
| Rotate0
| Rotate90
| Rotate180
| Rotate270
type t = {
content : Pdf.pdfobject list;
mediabox : Pdf.pdfobject;
resources : Pdf.pdfobject;
rotate : rotation;
rest : Pdf.pdfobject;
}
val rectangle_of_paper : Pdfpaper.t -> Pdf.pdfobject
val custompage : Pdf.pdfobject -> t
val blankpage : Pdfpaper.t -> t
val int_of_rotation : rotation -> int
val rotation_of_int : int -> rotation
val remove_dict_entries : (string * 'a) list -> (string * 'a) list -> (string * 'a) list
val last_mediabox_seen : Pdf.pdfobject option ref
val find_pages : Pdf.pdfobject -> Pdf.t -> Pdf.pdfobject option -> Pdf.pdfobject option -> rotation -> t list
val pages_of_pagetree : Pdf.t -> t list
val find_pages_quick : Pdf.pdfobject -> Pdf.t -> int
val pages_of_pagetree_quick : Pdf.t -> int
val endpage : Pdf.t -> int
val source : int -> unit -> int
val freshname : ( unit -> int ) -> string
val resource_keys : string list
val make_changes : Pdf.t -> t list -> ( string * int * string, string ) Hashtbl.t
val change_operator : Pdf.t -> ( string -> 'a -> string -> string ) -> ( string -> 'b -> string -> string option ) -> 'c -> Pdfops.t -> Pdfops.t
val renumber_pages : Pdf.t -> t list -> t list
type ptree =
| Lf of t list * int * int
| Br of t list * ptree * ptree * int * int
val split3 : int -> 'a list -> 'a list * 'b list * 'b list
val pagetree : ( unit -> int ) -> t list -> int -> ptree
val pagetree_flat : ( unit -> int ) -> t list -> int -> ptree
type ptree_objnumbers =
| OLf of int list * int * int
| OBr of int list * ptree_objnumbers * ptree_objnumbers * int * int
val print_ptree : ptree_objnumbers -> unit
val pagetree_with_objnumbers : bool -> int -> ( unit -> int ) -> int list -> int -> ptree_objnumbers
val mkpage : ( unit -> int ) -> int -> t -> int * Pdf.pdfobject * (int * Pdf.pdfobject) list
val objects_of_ptree : ( unit -> int ) -> (int * Pdf.pdfobject) list ref -> ptree -> (int * Pdf.pdfobject) list
val flat_pagetrees : bool ref
val add_pagetree_flat : t list -> Pdf.t -> Pdf.t * int
val add_pagetree : t list -> Pdf.t -> Pdf.t * int
val add_root : int -> (string * Pdf.pdfobject) list -> Pdf.t -> Pdf.t
val pagenumber_of_target : ?fastrefnums:( int, int ) Hashtbl.t -> Pdf.t -> Pdfdest.t -> int
val change_pages_find_matrix : Pdfdest.t -> ( 'a, Pdftransform.transform_matrix ) Hashtbl.t -> ( int, 'b ) Hashtbl.t -> Pdftransform.transform_matrix
val change_pages_process_bookmarks : ( 'a, Pdftransform.transform_matrix ) Hashtbl.t -> ( int, 'a ) Hashtbl.t -> Pdf.t -> Pdf.t
val rewrite_dest : Pdf.t -> ( 'a, Pdftransform.transform_matrix ) Hashtbl.t -> ( int, 'a ) Hashtbl.t -> Pdf.pdfobject -> int option
val rewrite_action : Pdf.t -> ( 'a, Pdftransform.transform_matrix ) Hashtbl.t -> ( int, 'a ) Hashtbl.t -> Pdf.pdfobject -> Pdf.pdfobject option
val change_pages_process_annotations : ( 'a, Pdftransform.transform_matrix ) Hashtbl.t -> ( int, 'a ) Hashtbl.t -> Pdf.t -> unit
val rewrite_openaction : Pdf.t -> Pdf.pdfobject -> unit
val change_pages_process_openaction : ( 'a, Pdftransform.transform_matrix ) Hashtbl.t -> ( int, 'a ) Hashtbl.t -> Pdf.t -> unit
val change_pages : ?matrices:(int * Pdftransform.transform_matrix) list -> ?changes:(int * int) list -> bool -> Pdf.t -> t list -> Pdf.t
val page_object_number : Pdf.t -> int -> int option
val target_of_pagenumber : Pdf.t -> int -> Pdfdest.t
val buildnode : int list -> int -> int -> Pdf.pdfobject
val objnumfrom : ptree_objnumbers -> int
val countof : ptree_objnumbers -> int
val objects_of_ptree_objnumbers : Pdf.t -> ptree_objnumbers -> unit
val pdf_of_pages_build_pagetree : ptree_objnumbers -> 'a -> Pdf.t -> Pdf.pdfobject
exception RewriteDone
val rewrite_first_kid : int -> int -> Pdf.pdfobject list -> Pdf.pdfobject list
val rewrite_first_indirect : Pdf.t -> int -> Pdf.pdfobject -> int -> int -> unit
val page_tree_nodes_not_pages : Pdf.t -> (int * Pdf.pdfobject) list
val rewrite_page_tree_first : Pdf.t -> int -> unit
val fixup_duplicate_pages : Pdf.t -> unit
val fixup_parents_inner : Pdf.t -> int -> int -> unit
val fixup_parents : Pdf.t -> unit
val pdf_of_pages : ?retain_numbering:bool -> Pdf.t -> int list -> Pdf.t
val prepend_operators : Pdf.t -> Pdfops.t list -> ?fast:bool -> t -> t
val protect : Pdf.t -> Pdf.pdfobject -> Pdf.pdfobject list -> Pdfops.t list
val postpend_operators : Pdf.t -> Pdfops.t list -> ?fast:bool -> t -> t
val next_string : string -> string
val is_prefix : string -> string -> bool
val names_used : Pdf.t -> string list
val shortest : string list -> string
val shortest_unused_prefix : Pdf.t -> string
val addp : string -> string -> string
val direct_cs_names : string list
val direct_cs_names_inline : string list
val prefix_operator : Pdf.t -> string -> Pdfops.t -> Pdfops.t
val change_resources : Pdf.t -> string -> Pdf.pdfobject -> Pdf.pdfobject
val add_prefix : Pdf.t -> string -> unit