# Module Pdfannot

    module Pdfannot: sig .. end

Annotations

    type style =

`|` | `NoStyle`
`|` | `Solid`
`|` | `Dashed`
`|` | `Beveled`
`|` | `Inset`
`|` | `UnderlineStyle`

Border styles

    type border = {

`` | `width : `float`;`
`` | `vradius : `float`;`
`` | `hradius : `float`;`
`` | `style : `style`;`
`` | `dasharray : `int array`;`

`}`

Annotation borders.

    type subtype =

`|` | `Text`
`|` | `Link`
`|` | `FreeText`
`|` | `Line`
`|` | `Square`
`|` | `Circle`
`|` | `Polygon`
`|` | `PolyLine`
`|` | `Highlight`
`|` | `Underline`
`|` | `Squiggly`
`|` | `StrikeOut`
`|` | `Stamp`
`|` | `Caret`
`|` | `Ink`
`|` | `Popup of `t``
`|` | `FileAttachment`
`|` | `Sound`
`|` | `Movie`
`|` | `Widget`
`|` | `Screen`
`|` | `PrinterMark`
`|` | `TrapNet`
`|` | `Watermark`
`|` | `ThreeDee`
`|` | `Unknown of `string``

Annotation types

    type t = {

`` | `subtype : `subtype`;`
`` | `annot_contents : `string option`;`
`` | `subject : `string option`;`
`` | `rectangle : `float * float * float * float`;`
`` | `border : `border`;`
`` | `colour : `(int * int * int) option`;`
`` | `annotrest : `Pdf.pdfobject`;`

`}`

Annotations.

    val annotations_of_page : Pdf.t -> Pdfpage.t -> t list

Return the annotations on a page in a document.

    val add_annotation : Pdf.t -> Pdfpage.t -> t -> Pdfpage.t

Add an annotation to a page in a document.

    val make_border : ?vradius:float ->
           ?hradius:float ->
           ?style:style -> ?dasharray:int array -> float -> border

Make a border.

    val make : ?content:string ->
           ?border:border ->
           ?rectangle:float * float * float * float ->
           ?colour:int * int * int -> ?subject:string -> subtype -> t

Make an annotation of a given `subtype`.

    val transform_annotations : Pdf.t -> Pdftransform.transform_matrix -> Pdf.pdfobject -> unit

Transform all annotations in a page dictionary, e.g `/Rect` and `/QuadPoints`.