module Pdfpagelabels:sig..end
Page Labels
type labelstyle =
| |
DecimalArabic |
| |
UppercaseRoman |
| |
LowercaseRoman |
| |
UppercaseLetters |
| |
LowercaseLetters |
| |
NoLabelPrefixOnly |
The type for page labels. The page labels of a document, if well-formed,
are a list of ts where the startpage values are in increasing numerical
order. The numerical page number for the page range is startvalue. The
default labelstyle is DecimalArabic. The default labelprefix is the empty
string.
For example, a document might have five pages of introduction with roman numerals, followed by the rest of the pages in decimal arabic, numbered from one:
For more details, see ISO 32000 12.4.2, but note that in our implementation, pages are 1-based not 0-based, just like PDF page numbers.
type t = {
|
labelstyle : |
|
labelprefix : |
|
startpage : |
|
startvalue : |
}
val string_of_labelstyle : labelstyle -> stringString of label style e.g DecimalArabic
val string_of_pagelabel : t -> stringDebug string of page label
val read : Pdf.t -> t listRead the page labels from a document
val complete : t list -> t listReturn a list where every page has a label - pages which don't are given arabic page numbers
val pagelabel_of_pagenumber : int -> t list -> tSingle label representing a given page. Raises Not_found if no label.
val pagelabeltext_of_pagenumber : int -> t list -> stringReturn the text for a page label. Raises Not_found if no label.
val add_label : int -> t list -> t -> int -> t listAdd a range starting at pagelabel.startpage, ending at the integer page given. The first integer argument is the number of pages in the PDF.
val coalesce : t list -> t listOptimise page labels, removing any which are not required.
val merge_pagelabels : Pdf.t list -> int list list -> t listMerge some page labels for some PDFs and page ranges.
val write : Pdf.t -> t list -> unitWrite page labels to a document, replacing any there. Any existing page labels are removed.
val remove : Pdf.t -> unitRemove all page labels. Equivalent to an empty list given to write.