`sig
type element =
Text of char list
| HGlue of float
| VGlue of float
| NewLine
| NewPage
| Font of string * Pdftext.font * float
| BeginDest of Pdfdest.t * string option
| EndDest
| BeginDocument
| Tag of string * int
| EndTag
type t = Cpdftype.element list
val to_string : Cpdftype.t -> string
val font_widths : string -> Pdftext.font -> float -> float array
val width_of_string : float array -> char list -> float
val typeset :
process_struct_tree:bool ->
float ->
float ->
float ->
float ->
Pdfpaper.t ->
Pdf.t -> Cpdftype.t -> Pdfpage.t list * (string * int) list list
val add_artifacts : Pdfops.t list -> Pdfops.t list
end`