1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
(** Annotations *)
(** Border styles *)
type style = NoStyle | Solid | Dashed | Beveled | Inset | UnderlineStyle
(** Annotation borders. *)
type border =
{width : float;
vradius : float;
hradius : float;
style : style;
dasharray : int array}
(** Annotation types *)
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
(** Annotations. *)
and 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}
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]. *)
|