Module Cpdftype

module Cpdftype: sig .. end

Experimental typesetter for cpdf


type element = 
| Text of char list
| HGlue of float
| VGlue of float
| NewLine
| NewPage
| Font of string * Pdftext.font * float
| BeginDest of Pdfdest.t
| EndDest
| BeginDocument
| Tag of string * int
| EndTag
type t = element list 
val to_string : t -> string

Debug printing

val font_widths : string -> Pdftext.font -> float -> float array

Return the font width table for a given (id, font, fontsize) combination.

val width_of_string : float array -> char list -> float

Calculate the widths of a string given a font width table, and list of char codes

val typeset : process_struct_tree:bool ->
float ->
float ->
float ->
float ->
Pdfpaper.t ->
Pdf.t -> t -> Pdfpage.t list * (string * int) list list

typeset process_struct_tree lmargin rmargin tmargin bmargin papersize pdf contents builds a list of pages of typset content.

val add_artifacts : Pdfops.t list -> Pdfops.t list

Add artifact markers to any un-marked part of the content stream.