sig
type encoding = Raw | UTF8 | Stripped
exception SoftError of string
exception HardError of string
type position =
PosCentre of float * float
| PosLeft of float * float
| PosRight of float * float
| Top of float
| TopLeft of float
| TopRight of float
| Left of float
| BottomLeft of float
| Bottom of float
| BottomRight of float
| Right of float
| Diagonal
| ReverseDiagonal
| Centre
val print_pdf_objs : Pdf.t -> unit
val endpage_io :
?revision:int -> Pdfio.input -> string option -> string option -> int
val process_pages :
(int -> Pdfpage.t -> Pdfpage.t) -> Pdf.t -> int list -> Pdf.t
val iter_pages : (int -> Pdfpage.t -> unit) -> Pdf.t -> int list -> unit
val map_pages : (int -> Pdfpage.t -> 'a) -> Pdf.t -> int list -> 'a list
val parse_pagespec : Pdf.t -> string -> int list
val string_of_pagespec : Pdf.t -> int list -> string
val validate_pagespec : string -> bool
val parse_pagespec_without_pdf : string -> int list
val recompress_pdf : Pdf.t -> Pdf.t
val decompress_pdf : Pdf.t -> Pdf.t
val copy_id : bool -> Pdf.t -> Pdf.t -> Pdf.t
val set_pdf_info :
?xmp_also:bool ->
?xmp_just_set:bool -> string * Pdf.pdfobject * int -> Pdf.t -> Pdf.t
val get_xmp_info : Pdf.t -> string -> string
val set_viewer_preference : string * Pdf.pdfobject * int -> Pdf.t -> Pdf.t
val set_page_layout : Pdf.t -> string -> Pdf.t
val set_page_mode : Pdf.t -> string -> Pdf.t
val set_open_action : Pdf.t -> bool -> int -> Pdf.t
val set_version : int -> Pdf.t -> unit
val get_info_utf8 : Pdf.t -> string -> string
val output_info : Cpdf.encoding -> Pdf.t -> unit
val output_xmp_info : Cpdf.encoding -> Pdf.t -> unit
val presentation :
int list ->
string option ->
float option -> bool -> bool -> int -> float -> Pdf.t -> Pdf.t
val attach_file :
?memory:Pdfio.bytes -> bool -> int option -> Pdf.t -> string -> Pdf.t
val remove_attached_files : Pdf.t -> Pdf.t
type attachment = {
name : string;
pagenumber : int;
data : unit -> Pdfio.bytes;
}
val list_attached_files : Pdf.t -> Cpdf.attachment list
val parse_bookmark_file : bool -> Pdf.t -> Pdfio.input -> Pdfmarks.t list
val add_bookmarks : bool -> Pdfio.input -> Pdf.t -> Pdf.t
val list_bookmarks :
Cpdf.encoding -> int list -> Pdf.t -> Pdfio.output -> unit
val set_metadata : bool -> string -> Pdf.t -> Pdf.t
val set_metadata_from_bytes : bool -> Pdfio.bytes -> Pdf.t -> Pdf.t
val remove_metadata : Pdf.t -> Pdf.t
val get_metadata : Pdf.t -> Pdfio.bytes option
val print_metadata : Pdf.t -> unit
val set_metadata_date : Pdf.t -> string -> Pdf.t
val create_metadata : Pdf.t -> Pdf.t
val combine_pages : bool -> Pdf.t -> Pdf.t -> bool -> bool -> bool -> Pdf.t
val stamp :
bool ->
Cpdf.position ->
bool ->
bool -> bool -> bool -> bool -> int list -> Pdf.t -> Pdf.t -> Pdf.t
val split_on_bookmarks : Pdf.t -> int -> Pdf.t list
val print_fonts : Pdf.t -> unit
val list_fonts : Pdf.t -> (int * string * string * string * string) list
val expand_date : string -> string
val string_of_position : Cpdf.position -> string
type orientation = Horizontal | Vertical | VerticalDown
type justification = LeftJustify | CentreJustify | RightJustify
val calculate_position :
bool ->
float ->
float * float * float * float ->
Cpdf.orientation -> Cpdf.position -> float * float * float
val addtexts :
bool ->
float ->
bool ->
bool ->
string ->
Pdftext.standard_font option ->
bool ->
int ->
int option ->
float * float * float ->
Cpdf.position ->
float ->
float ->
bool ->
string ->
int list ->
Cpdf.orientation ->
bool ->
float ->
Cpdf.justification ->
bool -> bool -> string -> float option -> Pdf.t -> Pdf.t
val metrics_howmany : unit -> int
val metrics_text : int -> string
val metrics_x : int -> float
val metrics_y : int -> float
val metrics_rot : int -> float
val metrics_baseline_adjustment : unit -> float
val removetext : int list -> Pdf.t -> Pdf.t
val output_page_info : Pdf.t -> int list -> unit
val hasbox : Pdf.t -> int -> string -> bool
val crop_pdf :
?box:string ->
(float * float * float * float) list -> Pdf.t -> int list -> Pdf.t
val hard_box : Pdf.t -> int list -> string -> bool -> bool -> Pdf.t
val set_mediabox :
(float * float * float * float) list -> Pdf.t -> int list -> Pdf.t
val setBox :
string -> float -> float -> float -> float -> Pdf.t -> int list -> Pdf.t
val remove_cropping_pdf : Pdf.t -> int list -> Pdf.t
val remove_trim_pdf : Pdf.t -> int list -> Pdf.t
val remove_bleed_pdf : Pdf.t -> int list -> Pdf.t
val remove_art_pdf : Pdf.t -> int list -> Pdf.t
val rotate_pdf : int -> Pdf.t -> int list -> Pdf.t
val rotate_pdf_by : int -> Pdf.t -> int list -> Pdf.t
val rotate_contents : ?fast:bool -> float -> Pdf.t -> int list -> Pdf.t
val upright : ?fast:bool -> int list -> Pdf.t -> Pdf.t
val vflip_pdf : ?fast:bool -> Pdf.t -> int list -> Pdf.t
val hflip_pdf : ?fast:bool -> Pdf.t -> int list -> Pdf.t
val shift_pdf :
?fast:bool -> (float * float) list -> Pdf.t -> int list -> Pdf.t
val scale_pdf :
?fast:bool -> (float * float) list -> Pdf.t -> int list -> Pdf.t
val scale_to_fit_pdf :
?fast:bool ->
Cpdf.position ->
float -> (float * float) list -> 'a -> Pdf.t -> int list -> Pdf.t
val scale_contents :
?fast:bool -> Cpdf.position -> float -> Pdf.t -> int list -> Pdf.t
val padbefore : ?padwith:Pdf.t -> int list -> Pdf.t -> Pdf.t
val padafter : ?padwith:Pdf.t -> int list -> Pdf.t -> Pdf.t
val padmultiple : int -> Pdf.t -> Pdf.t
val list_annotations : Cpdf.encoding -> Pdf.t -> unit
val list_annotations_more : Pdf.t -> unit
val get_annotations : Cpdf.encoding -> Pdf.t -> (int * string) list
val copy_annotations : int list -> Pdf.t -> Pdf.t -> Pdf.t
val remove_annotations : int list -> Pdf.t -> Pdf.t
val twoup_stack : bool -> Pdf.t -> Pdf.t
val twoup : bool -> Pdf.t -> Pdf.t
val blank_document : float -> float -> int -> Pdf.t
val blank_document_paper : Pdfpaper.t -> int -> Pdf.t
val add_page_labels :
Pdf.t ->
Pdfpagelabels.labelstyle -> string option -> int -> int list -> unit
val thinlines : int list -> float -> Pdf.t -> Pdf.t
val blacktext : float * float * float -> int list -> Pdf.t -> Pdf.t
val blacklines : float * float * float -> int list -> Pdf.t -> Pdf.t
val blackfills : float * float * float -> int list -> Pdf.t -> Pdf.t
val draft : string option -> bool -> int list -> Pdf.t -> Pdf.t
val squeeze : ?logto:string -> Pdf.t -> unit
val process_xobjects :
Pdf.t ->
Pdfpage.t ->
(Pdf.t -> Pdf.pdfobject -> Pdf.pdfobject list -> Pdf.pdfobject list) ->
unit
val custom_csp1 : Pdf.t -> Pdf.t
val custom_csp2 : float -> Pdf.t -> Pdf.t
val nobble_page : Pdf.t -> 'a -> Pdfpage.t -> Pdfpage.t
val find_cpdflin : string option -> string
val call_cpdflin : string -> string -> string -> string -> int
val debug : bool Pervasives.ref
val extract_text : float option -> Pdf.t -> int list -> string
end