-
Notifications
You must be signed in to change notification settings - Fork 29
/
pdfannot.mli
70 lines (61 loc) · 1.57 KB
/
pdfannot.mli
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]. *)